在Android上的chrome上自动播放传入的WebRTC流

时间:2018-03-04 23:32:13

标签: javascript google-chrome webrtc

我有一个使用simple-peer的多对等WebRTC流,我正在播放收到的流,如下所示:

    <%=raw @hash1.to_json %>
    <%=raw @hash2.to_json %>

<script>
handler = Gmaps.build('Google');
handler.buildMap({provider: {},internal: {id: 'map'}},function(){
markers = handler.addMarkers(<%=raw @hash1.to_json %>);
markers = handler.addMarkers(<%=raw @hash2.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
</script>

这在桌面上工作正常,但对于android上的chrome没有声音:

        peer.on("stream", data => {
          let audio = document.createElement("audio") as HTMLAudioElement;
          audio.src = URL.createObjectURL(data);
          audio.play();
        });

我找不到有关如何正确播放收到的流的任何文档。当流准备就绪时,我真的必须显示一个按钮吗?

我还尝试通过播放来自getUserMedia的流来解决这个问题,但这只有在我没有调用Unhandled Promise rejection: play() can only be initiated by a user gesture. 时才有效,这也不是因为这会产生反馈循环。

audioTag.muted = true

http://talky.io这样的网站似乎找到了解决这个问题的方法,所以我该怎么做?

1 个答案:

答案 0 :(得分:0)

签出:https://www.chromium.org/audio-video/autoplay

Client
---------
Id
Client_Name
Client_Number
Is_Active