0

我可以录制我的音频并获取该录制音频的 blob URI。我现在要做的是将该音频发送到我的 Node.js 服务器并将该 blob URI 转换为 .wav 或 .mp3 文件。我想知道如何将 blob URI 转换为文件。

  const [recording, setRecording] = useState();

  async function startRecording() {
    try {
      const permission = await Audio.requestPermissionsAsync();

      if (permission.status === "granted") {
        await Audio.setAudioModeAsync({
          allowsRecordingIOS: true,
          playsInSilentModeIOS: true
        });
        
        const { recording } = await Audio.Recording.createAsync(
          Audio.RECORDING_OPTIONS_PRESET_HIGH_QUALITY
        );

        setRecording(recording);
      } else {
        setMessage("Please grant permission to app to access microphone");
      }
    } catch (err) {
      console.error('Failed to start recording', err);
    }
  }

  async function stopRecording() {
      setRecording(undefined);
      await recording.stopAndUnloadAsync();

      const recordingURI = recording.getURI();

      let updatedRecordings = [...recordings];
      const { sound, status } = await recording.createNewLoadedSoundAsync();
      updatedRecordings.push({
        sound: sound,
        duration: getDurationFormatted(status.durationMillis),
        file: recordingURI
      });
    }
4

0 回答 0