gpt4 book ai didi

javascript - 在 chrome for android 设备上录制音频 Bug?

转载 作者:行者123 更新时间:2023-11-29 22:56:57 25 4
gpt4 key购买 nike

我正在使用 Media Stream Recording API 来录制用户的 MIC。该代码在 chrome windows 上运行良好,但是当涉及到 android 时,它只是在录制哔声后立即停止录制。

如何让 API 在 Android 设备上运行?
我是否遗漏了什么或者这是 Web Audio API 的错误?

代码如下:

  navigator.mediaDevices.getUserMedia({audio:true})
.then(stream => {
rec = new MediaRecorder(stream);
rec.ondataavailable = e => {
audioChunks.push(e.data);
if (rec.state == "inactive"){
let blob = new Blob(audioChunks,{type:'audio/x-mpeg-3'});
recordedAudio.src = URL.createObjectURL(blob);

然后我就用这些行开始记录:

audioChunks = [];
rec.start();

还有这个停下来玩:

rec.stop();
recordedAudio.autoplay = true;

最佳答案

Chrome 自动播放需要用户交互才能播放声音。

检查 thisthis用于基于 javascript 的解决方法。

或者如果你正在制作一个 Android 应用程序并使用 webview 加载你的页面,请尝试设置 setMediaPlaybackRequiresUserGesture为假。

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("https://www.example.com");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setMediaPlaybackRequiresUserGesture(false);

关于javascript - 在 chrome for android 设备上录制音频 Bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56489583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com