我正在尝试从手机摄像头获取视频流,并在视频元素上显示该流。以下是我拥有的代码要点:
...
navigator.mediaDevices.getUserMedia(constraints)
.then((stream)=>{
video.srcObject=stream;
video.volume=0;
video.mute=0;
video.play(); //error here on iOS Safari
...
虽然这在所有桌面和安卓浏览器上都有效,但在iOS上似乎不起作用,会在video.play()
行上出现错误。
据我目前所了解的,这似乎是Safari在移动设备上采取的安全措施,以防止网站消耗用户过多的数据。这意味着,除非由用户明确启动,否则浏览器将不允许video.play()
我已经尝试在视频元素本身上添加"muted
"属性(除了autoplay
之外),但似乎没有解决问题。
因此,我想知道是否有其他解决方法,或者我应该寻找其他显示视频的方法。任何帮助/建议都将不胜感激。