expo-audio
What is expo-audio
Successor to expo-av
library.
# install expo audio npx expo install expo-audio npx expo uninstall expo-audio
Minimal setup in React:
import { useAudioRecorder, AudioModule, RecordingPresets } from "expo-audio"; const audioRecorder = useAudioRecorder(RecordingPresets.HIGH_QUALITY); const record = async () => { await audioRecorder.prepareToRecordAsync(); audioRecorder.record(); console.log("Recording started"); setIsListening(true); }; const stopRecording = async () => { setIsListening(false); console.log("Recording stopped"); await audioRecorder.stop(); const audioFileUri = audioRecorder.uri; setAudioBlobUri(audioFileUri || ""); return audioFileUri; }; useEffect(() => { (async () => { const status = await AudioModule.requestRecordingPermissionsAsync(); if (!status.granted) { Alert.alert("Permission to access microphone was denied"); } })(); }, []);
Caveat
expo-audio requested device not found
means the hardware does not have a physical microphone.