41

ここ数週間、HTML5 のビデオ/オーディオという地獄をいじっています。通常、何かが失敗した理由はしばらくするとポップアップしますが、クロムで転送と巻き戻しの問題が発生する理由を見つけることができませんでした.

とにかく...

ビデオまたはオーディオ ファイルが要求されたときに、ビデオまたはオーディオ タグが extjs パネルに読み込まれます。ファイルはストリームとして送信され、IE と Firefox で正常に動作します (応答ヘッダーに期間を追加した後)。

クロム(これは私の問題であり、最新バージョンです)では、ビデオとオーディオは問題なくロードされますが、巻き戻しや転送ができません。ビデオを検索しようとするときは、ストリームの最後に到達するまで数秒進みます。オーディオも問題なく再生されますが、複数回巻き戻し (または転送) しようとすると、進行状況バーが壊れて、オーディオの再生が停止します。

サーバーから何が送信されているのか完全にはわかりませんが、これは応答のデータが欠落していることが原因である可能性があるのではないかと考えています. 修正に向けて私を指し示すことが他にない場合は、大歓迎です。セットアップ全体をほぼ網羅したと思います。また、各ブラウザーにソース タグがあることを確認しました。

編集:これは、ファイルの1つに対してjavascriptによって生成されたコードです:

<video width="1889" height="2" preload="auto" autoplay="1" controls="1" id="videoPlayer" style="width: 1889px; height: 233px; ">
<source src="http://localhost:8080/epaServer/epa/documents/496.ds_webm?sessionId=5616fde4-50af-43d6-a57c-f06540b64fcb" type="video/webm">
<source src="http://localhost:8080/epaServer/epa/documents/496.ds_mp4?sessionId=5616fde4-50af-43d6-a57c-f06540b64fcb" type="video/mp4">
<div>Your browser doesn't support html5 video. <a>Upgrade Chrome</a></div>
</video>

また、アプリケーションとは別にファイルを開いても、ファイルをシークできないこともわかりました。

私は自分で詳細情報を見つけようとしましたが、これらはネットワークタブに表示されるヘッダーです。

リクエスト URL:https://localhost:8443/epaServer/epa/documents/496.ds_webm?sessionId=5616fde4-50af-43d6-a57c-f06540​​b64fcb

リクエスト方法:GET

ステータスコード:200 OK

リクエスト ヘッダー

Accept: / Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3

Accept-Encoding:identity;q=1, *;q=0

Accept-Language:en-US,en;q=0.8

接続:キープアライブ

Cookie:sessionId=5616fde4-50af-43d6-a57c-f06540​​b64fcb

ホスト: ローカルホスト:8443

ユーザーエージェント:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (Gecko のような KHTML) Chrome/18.0.1025.168 Safari/535.19

クエリ文字列パラメータービュー URL エンコード

セッション ID:5616fde4-50af-43d6-a57c-f06540​​b64fcb

応答ヘッダー

キャッシュ制御:プライベート

コンテンツの長さ:1588816

コンテンツ タイプ:video/webm

日付:2012 年 5 月 14 日 (月) 14:23:02 GMT

有効期限:1970 年 1 月 1 日木曜日 01:00:00 CET

サーバー:Apache-Coyote/1.1

X-Content-Duration:17.31

>

4

2 に答える 2

33

この質問でうまくいかない理由を見つけました:

HTML5 ビデオはループしません

現在、サーバーは部分的なコンテンツを認識していません。その結果、chrome は応答されないコンテンツのリクエストを送信し、その結果、ビデオとオーディオがシークできなくなります (ループできなくなります)。

于 2012-05-16T13:20:26.140 に答える