0

すでに回答済みの質問をしている場合はまず申し訳ありませんが、現時点ではそれを見つけることも解決することもできません。

iPad でスタンドアロン モードで実行される Web アプリケーションを開発しています。タグがあり、<video>それを使用してライブ ストリーム ビデオを再生しています。静的ファイルでエラー イベントをテストしていないため、これが問題である可能性があると思います。私の問題は、何らかの理由でストリームが失敗した場合に再起動できるように、onerror または error イベントをタグにバインドできないことです。

私のビデオタグは次のようになります。

<video id="video_tag" preload webkit-playsinline autoplay="autoplay" x-webkit-airplay="allow">
<source type="video/mp4" src="http_stream_url"></source>
</video>

ビデオタグを直接追加しようとしましonerror="alert('error')"たが、うまくいきませんでした。

イベントリスナーをビデオタグに直接追加しようとしましたが、document.getElementById("video_tag").addEventListener('error', function(event) { alert('error'); }, true);うまくいきませんでした。

イベントリスナーをソースタグに追加しようとしましたが、エラーイベントはビデオタグではなくソースタグによってトリガーされると指摘されましたが、機能しませんでした。

私もソースタグを付けようとしましたがonerror="alert('error')"、うまくいきませんでした。

これは、iPad > Safari > スタンドアロン モード > JavaScript Web アプリケーション > ビデオ タグ > HLS (http ライブ ストリーム) ストリームの再生内にあることに注意してください。

編集: ビデオストリームの読み込みが失敗したことを検出しますが、再生中にストリームが停止したことを検出し、その場合はストリームを再開する必要があります。

ありがとう

4

1 に答える 1

0

要素onstalled内のイベントをリッスンする必要があると思います。videoビデオ要素は特別な種類のメディア要素であり、イベントのリストはw3schoolsにあります。

ブラウザのサポートはまだかなり早い段階であり、必ずしもすべてのイベントが実装されているわけではないことに注意してください。リストされたすべてのイベントのハンドラーを作成し、ストリームが停止したときに実際に発生するイベントがあるかどうかを確認することをお勧めします。onreadystatechangeまたはonsuspendイベントも役立つと思います。

于 2013-09-04T20:01:18.463 に答える