2017-08-09 8 views
0

Microsoft EdgeはHLSをサポートしていますが、Chrome以外のブラウザ(Chromeなど)があります。私はあなたがvideo.srcをこのようにテストする必要がHLSの可用性をテストすることをお読みください。Microsoft Edge HLSのサポートとその他のブラウザ

videoPromise = video.play() 

if(videoPromise !== undefined){ 
    // There's support 
} else { 
    // There's no support 
} 

このコードは何のサポートはありません場合はHLSに代わるものを提供することですが、このコードはエッジで使用されるとき、 video.playundefinedを返し、したがって他の予想される呼び出しを中断します。

video.onplayvideo.onplayingを使用して、実際にすべてのブラウザでビデオが再生されていることを確認し、HLSビデオを再生することを確認することもできます。

Edgeでこれを確認するには、より良い方法がありますか?

答えて

0

最新の仕様ではplay()が真実ではないという約束を返すので、実際にこのようにしたくないのです(拒否された約束、サポートの不足を示す、未定義ではないためif文も引き続き渡します)。

実際には、ビデオタイプがサポートされているかどうかを確認する方法が組み込まれています(canPlayType)。これはメディア要素(<オーディオ>と<ビデオ>)から構成されています。再生するコンテンツのMIMEタイプを渡すだけです。ほとんどのHLSコンテンツでは、application/x-mpegURLを使用します。メディア要素は、これが機能するためにはDOM内にある必要はないので、このように書くことができます。

関連する問題