1

I can record my audio and get a blob URI of that recorded audio. What I want to do now is send that audio to my Node.js server and turn that blob URI into a .wav or .mp3 file. I was wondering how do turn the blob URI into a file.

  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
      });
    }

0 Answers0