【问题标题】:Chrome for Android bugs in replaying audio recordingChrome for Android 在回放录音时出现错误
【发布时间】:2016-03-15 22:17:22
【问题描述】:

我正在使用 recorder.js 在网页上录制音频,我希望让用户能够播放它。 我有一个最小的测试用例,它在 Chrome 桌面上运行良好,但在 Android 上失败。录音好像没问题。但是音频标签似乎无法播放 blob(在 Android 上)。 https://www.quidoo.fr/html/test_recorder.html

window.AudioContext = window.AudioContext || window.webkitAudioContext;
navigator.getUserMedia = navigator.getUserMedia ||    navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
window.URL = window.URL || window.webkitURL;

var audio_context;
var recorder;

function init_recording(){
	audio_context= new AudioContext();
	navigator.getUserMedia({audio: true},
		function (stream){
			var source=audio_context.createMediaStreamSource(stream);
			recorder=new Recorder(source); // defined in recorder.js
		},
		function(error) {
		  	alert('No live audio input');
		}
	);
}

function onRecord(){
	recorder.clear(); 
	recorder.record();
}

function onStop(){
	recorder.stop();
	recorder.exportWAV(function(blob) {
	    var url = window.URL.createObjectURL(blob);
	    var myAudio=window.document.getElementById('myAudio');
	    myAudio.src=url;
	});
}

init_recording();
<script src="https://www.quidoo.fr/js/libs/recorder.js"></script>
<button onclick="onRecord()">Record</button>
<button onclick="onStop()">Stop</button>
<audio id="myAudio" controls></audio>

我想知道这是否是 Android 版 Chrome 的错误,或者我错过了什么。有没有办法绕过这个而不必在重播之前上传它?

【问题讨论】:

    标签: javascript android google-chrome audio recorder.js


    【解决方案1】:

    我不知道您是否仍然遇到此问题,但我找到了几个替代方案,因为这是 Android 版 Chrome 中记录的错误。

    编辑:我也刚刚找到了这个答案。这是迄今为止最简单的解决方法。 https://stackoverflow.com/a/38591006/4601393

    这种替代方式并不完全对用户友好,但是如果您在移动设备上转到 chrome://flags 并启用“在 Android 上启用统一媒体管道”,则音频标签将成功播放 url(至少对我而言)它做了)。 来源:https://bugs.chromium.org/p/chromium/issues/detail?id=253465

    另一种方法是将 blob 生成为 URL,使用 XHR 下载 blob,为下载的 blob 生成 url,并使用音频源中的最后一个 url。我实际上并没有使用最后一种方法,但我在搜索过程中看到多个用户提到这种方式。

    来源:https://bugs.chromium.org/p/chromium/issues/detail?id=227476(评论21)

    希望尽快实施修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 2019-10-22
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多