我正在尝试找出一种使用react-native-web录制和播放音频的方法。我已经找到了几种在android和IOS中成功做到这一点的方法,但我不知道如何在网络上做到这一点。我也在我的项目中使用了Expo。任何帮助都是非常感谢的。谢谢!
发布于 2020-10-27 19:01:09
我注意到世博会的音频( expo install expo-av,import { Audio } from 'expo-av';)支持web,就像他们的文档:https://docs.expo.io/versions/latest/sdk/audio/中提到的那样
编辑
在移动设备上播放音频:(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'))对于我们使用的网络录制(ReactJS):
recorder.current = new MediaRecorder(stream, { mimeType: 'audio/webm' });并调用.start()函数,
好了!所有这些都在互联网上,如果这对某些人有用的话
https://stackoverflow.com/questions/60412533
复制相似问题