在react原生网络上录制和播放音频



我正试图找到一种使用react native web录制和播放音频的方法。我已经找到了几种在android和IOS中成功做到这一点的方法,但我不知道如何在网络上做到。我还在我的项目中使用Expo。非常感谢您的帮助。谢谢

我注意到Expo的音频(expo install expo-avimport { Audio } from 'expo-av';(支持他们文档中提到的web:https://docs.expo.io/versions/latest/sdk/audio/

编辑

用于在MOBILE上播放音频:(React Native Expo(

/**
* load, play and unload sound
* @param soundObject e.g new Audio() 
* @param audio e.g: require('audio.mp3')
*/
export async function playAudio(soundObject, audio) {
try {
await soundObject.loadAsync(audio);
const playRes = await soundObject.playAsync();
soundObject.setOnPlaybackStatusUpdate(async (status) => {
if (status.didJustFinish === true) {
await soundObject.unloadAsync()
}
})
} catch (error) {
console.log('play audio err:', error);
await soundObject.unloadAsync()
soundObject.setOnPlaybackStatusUpdate(null)
}
}

其中,例如:

import { Audio } from 'expo-av';
const soundObject = new Audio.Sound();

并使用以下功能:

playAudio(entranceSound, require('audio.mp3'))

用于在WEB上录制,我们使用(ReactJS(:

recorder.current = new MediaRecorder(stream, { mimeType: 'audio/webm' });

并调用.start((函数,

所有在互联网上,如果这似乎对某人检查有用

最新更新