我正在尝试从手机摄像头获取视频流,并在视频元素上显示该流。这是我拥有的代码的要点:
...
navigator.mediaDevices.getUserMedia(constraints)
.then((stream)=>{
video.srcObject=stream;
video.volume=0;
video.mute=0;
video.play(); //error here on iOS Safari
...
虽然这在all桌面和android浏览器上都有效,但在iOS上似乎不起作用,这使我在行video.play()
上出现错误。
根据目前为止的了解,这似乎是safety measure by Safari on mobile,可以防止网站占用过多的用户数据。意思是,除非用户特别启动,否则浏览器将不允许video.play()
我曾尝试在视频元素本身上添加“ muted
”属性(仅autoplay
之外,但这似乎无法解决问题。
所以,我想知道这里是否还有其他解决方法,或者我是否应该寻找其他方式来显示视频供稿。任何帮助/建议都将不胜感激。
您是否尝试过将playsinline
添加到视频元素?