首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在react-native-web上录制和播放音频

在react-native-web上录制和播放音频
EN

Stack Overflow用户
提问于 2020-02-26 19:07:02
回答 1查看 98关注 0票数 1

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

EN

回答 1

Stack Overflow用户

发布于 2020-10-27 19:01:09

我注意到世博会的音频( expo install expo-avimport { Audio } from 'expo-av';)支持web,就像他们的文档:https://docs.expo.io/versions/latest/sdk/audio/中提到的那样

编辑

在移动设备上播放音频:(React Native Expo)

代码语言:javascript
运行
复制
/**
 * 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)
    }
}

其中,例如:

代码语言:javascript
运行
复制
import { Audio } from 'expo-av';
const soundObject = new Audio.Sound();

并使用以下函数:

代码语言:javascript
运行
复制
playAudio(entranceSound, require('audio.mp3'))

对于我们使用的网络录制(ReactJS):

代码语言:javascript
运行
复制
recorder.current = new MediaRecorder(stream, { mimeType: 'audio/webm' });

并调用.start()函数,

好了!所有这些都在互联网上,如果这对某些人有用的话

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60412533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档