vpt*_*est 10 html javascript chromium html5-video microsoft-edge
Microsoft Edge 85 误报支持 AV1 视频编解码器。
像这样检查会返回“可能”,这通常表明视频编解码器可以安全使用。
videoElement.canPlayType('video/webm; codecs="av01.0.05M.08"')
Run Code Online (Sandbox Code Playgroud)
放置 AV1 源元素会导致 Edge 选择 AV1 而不是其他编解码器,并且无法播放它。
<video playsinline loop autoplay muted>
<source type="video/webm; codecs='av01.0.05M.08'" src="av1.webm">
<source type="video/webm; codecs='vp9'" src="vp9.webm">
<source type="video/mp4; codecs='avc1.64001f'" src="avc.mp4">
</video>
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以更有效地检测编解码器支持,而不会出现上述误报?
我遵循@Deepak-MSFT的建议,使用JS替换Edge上的视频源。
我已经确认这在 Window 10 21H2 上的 Edge 103 中有效。浏览器仍会请求无法播放的 AV1 WebM 文件,但随后会切换并播放 AVC MP4 文件。
// Target Edge on Windows with UserAgent and Platform strings
if (
window.navigator.userAgent.toLowerCase().includes("edg") &&
window.navigator.platform === "Win32"
) {
// Select the video element
const video = document.querySelector("video");
// Select the playable source file and set video src
video.src = video
.querySelector("source[type='video/mp4']")
.getAttribute("src");
}
Run Code Online (Sandbox Code Playgroud)
这假设您只有一个带有type="video/mp4". 查询选择器可以更具体,例如选择codecs属性,以针对非常具体的源。id另一种选择是向源元素添加属性并以这种方式定位所需的源。
| 归档时间: |
|
| 查看次数: |
1563 次 |
| 最近记录: |