1

Windows Phone 7 の既定のブラウザーは、HTML5 ビデオが終了したときに「終了」イベントを発生させないことに気付きました。

そのため、100ms ごとに現在の時刻を常に確認してから、次のように計算できると考えました。

if (videolength - video.currentTime <= 0) alert("ended");

Windows Phone 7 のネイティブ ブラウザーは常に次のことを行うため、これも機能しません。"170 - 0"

ビデオのどの部分をチェックしても、video.currentTime は常に0 です。

Windows Phone 7 でビデオが終了したかどうかを確認するにはどうすればよいですか?

更新:ブラウザーのユーザー エージェントを確認したところ、ie9 と表示されています。では、なぜ「終了」イベントを発生させたくないのでしょうか?

4

1 に答える 1

0

addEventListenerを使用して、またはjQueryバインディングを介してイベントをリッスンしようとしている場合は、要素のイベントハンドラー「onended」の名前ではなく、イベントタイプ「ended」を使用する必要があります。

[更新しました]

したがって、IE9モバイルはHTML5ビデオAPIの非常に限られたサブセットをサポートしているようです。このW3デモは、APIのどの要素が実際にサポートされているかをテストするのに役立ちます。

質問から完全には明らかではないあなたの要件に応じて、あなたの選択肢は非常に限られているように私には思えます。次のいずれかを実行できます。

  1. ブラウザのネイティブプレーヤーを使用し、ビデオの終わりを検出する方法がないことを受け入れ、Microsoftが必要なAPIのセクションのサポートを追加する際に彼らの行動をまとめるのを待ちます。
  2. フォールバックとしてFlashソリューションを使用し(レガシーブラウザーをサポートする場合はとにかく必要になります)、少数ではあるが確かに増加しているIE9モバイルユーザーにメトロブラウザーのインストールを促します。レビューはまちまちで、リストされているもの以外のFlashビデオプレーヤーをサポートしているかどうかは完全には明らかではありませんが、YouTubeをサポートしていると主張しています。少なくとも検討する価値はあるでしょう。
  3. GoogleがChromeフレームをWindows7電話で動作するように更新することを願っています。それがどれほど可能性があるかはわかりませんが、IE 9をGoogleフレームでポリフィルするというアイデアは私を楽しませてくれます。この答えは、これまでのところ笑いがかなり少ないです。

ああ、そしてマイクロソフト、もしあなたがアップルの例に従い、あなたのモバイルデバイスでフラッシュのサポートをやめるつもりなら、少なくともあなたのブラウザが有用な量のHTML5ビデオAPIをサポートしていることを確認してください。

于 2012-05-02T23:08:35.233 に答える