我正在尝试在 Android 上的 Chrome 上使用带有 getUserMedia 的媒体流。为了测试,我编写了下面的脚本,它只是将输入流连接到输出。此代码在 Windows 下的 Chrome 上按预期工作,但在 Android 上我什么也没听到。系统会提示用户允许使用麦克风,但扬声器、听筒扬声器或耳机插孔没有声音。
navigator.webkitGetUserMedia({
video: false,
audio: true
}, function (stream) {
var audioContext = new webkitAudioContext();
var input = audioContext.createMediaStreamSource(stream);
input.connect(audioContext.destination);
});
此外,上下滚动音量时的反馈蜂鸣声不会响起,就像 Chrome 正在向系统播放音频一样。
Chrome for Android 是否确实不支持此功能?以下问题的思路相似,但都没有明确的答案或解释。
由于我是使用 getUserMedia 的新手,因此我想确保我在代码中所做的任何事情都不会破坏兼容性。
我还应该注意,这个问题似乎不适用于 getUserMedia 本身。可以在标签中使用 getUserMedia <audio>
,如下代码所示(使用 jQuery):
navigator.webkitGetUserMedia({
video: false,
audio: true
}, function (stream) {
$('body').append(
$('<audio>').attr('autoplay', 'true').attr('src', webkitURL.createObjectURL(stream))
);
});