Я использую **hls.js**
для прямой трансляции.
Когда я посмотрю видео на своем пакете для xbox, я проверю, поддерживает ли мой браузер расширения MediaSource.
В первый раз он вернет истину, а в другие - ложь.
вот хранилище Hls.js (https://github.com/video-dev/hls.js/blob/master/docs/API.md#first-step-setup-and-support)
function getMediaSource() {
if (typeof window !== "undefined") {
return window.MediaSource || window.WebKitMediaSource
}
}
function isSupported() {
var mediaSource = getMediaSource();
var isTypeSupported = mediaSource && typeof mediaSource.isTypeSupported === "function" && mediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"');
var x = !!isTypeSupported ;
if (!x) {
console.log("do not support!")
console.log( typeof mediaSource.isTypeSupported)
console.log(mediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'))
}
return !!isTypeSupported
}
loadVideo(src: string) {
if (Hls.isSupported()) {
this.createVideoElement();
} else {
... //show some message
}
...
}
Я ожидаю, что Hls.isSupported()
всегда истинно, но фактический вывод ложен после первого раза.