mediaStream = await navigator.mediaDevices.getUserMedia({
video: {
facingMode: "environment", // 指定后置摄像头
},
});
if (videoRef.value) {
videoRef.value.srcObject = mediaStream;
}

- 发布:2025-05-01 23:38
- 更新:2025-05-04 14:59
- 阅读:176
【报Bug】H5端Video元素跟HTML的video元素有区别,无法播放navigator.mediaDevices.getUserMedia的MediaStream;
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows11
HBuilderX类型: 正式
HBuilderX版本号: 4.64
浏览器平台: Chrome
浏览器版本: 最新版本
项目创建方式: HBuilderX
操作步骤:
预期结果:
正常播放
正常播放
实际结果:
Uncaught (in promise) NotSupportedError: The element has no supported sources.
uni-h5.es.js:16910
function play() {
const video = videoRef.value;
state2.start = true;
// video.play() 这一行报错
video.play();
}
Uncaught (in promise) NotSupportedError: The element has no supported sources.
uni-h5.es.js:16910
function play() {
const video = videoRef.value;
state2.start = true;
// video.play() 这一行报错
video.play();
}
bug描述:
H5端Video元素跟HTML的video元素有区别,无法播放navigator.mediaDevices.getUserMedia的MediaStream;
1 个回复
DCloud_UNI_JBB
试试在元数据(metadata)被加载完成后触发播放,参考这个例子修改下,https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia#%E5%AE%BD%E5%BA%A6%E5%92%8C%E9%AB%98%E5%BA%A6