1

我正在尝试在 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))
    );
});
4

1 回答 1

1

Android 上的 Chrome 现在可以正确支持 getUserMedia。我怀疑这最初与录制和播放之间的采样率差异有关(这在桌面 Chrome 上表现出同样的问题)。无论如何,所有人都在 2014 年 2 月左右开始在最新的马厩上工作一段时间。

于 2014-07-31T15:50:41.557 回答