他のアプリケーションへのビデオのストリーミングをサポートする必要がある http Web サーバーを作成しました。シーク中に Windows Media Player の問題に直面しています。特定の方法でシークすると Windows Media Player がクラッシュします。これ以外は正常に動作しています。
メディア プレーヤーがクラッシュする手順。
シーク バーに 3 つのポイントがあるとします (たとえば、A、B、C)。
1) A はビデオの開始位置です。
2) ポジション C にジャンプします。
3) B の位置にジャンプして戻ります。
4) 再び位置 C (または位置 B の前の任意の位置) にジャンプして戻ります (これは、メディア プレーヤーが次のエラーでクラッシュする場所です)。
「ファイルの再生中に Windows Media Player で問題が発生しました。」
メディア プレーヤーがクラッシュすると、Web サーバーにリクエストが届きません。そうしないと、サーバー側で通常のシーク(コンテンツ範囲)httpリクエストを取得しています。
ポイント B へのジャンプ時にメディア プレーヤーと交換された最後の HTTP 要求と応答。
リクエスト:
GET XXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1
Connection: keep-alive
Cache-Control: no-cache
Pragma: getIfoFileURI.dlna.org
Accept: */*
Range: bytes=10125312-16437247
User-Agent: NSPlayer/12.00.7601.17514 WMFSDK/12.00.7601.17514
GetContentFeatures.DLNA.ORG: 1
TransferMode.DLNA.ORG: Streaming
Host: localhost:16716
応答:
HTTP/1.1 206 Partial Content
Date: Fri, 08 Mar 2013 11:41:54 GMT
Content-Type: video/mp4
Access-Control-Allow-Origin: *
Connection: keep-alive
TransferMode.DLNA.ORG: Streaming
File-Size: 33994175
Accept-Ranges: bytes
Content-Range: bytes 10125312-16437247/16437248
Content-Length: 6311936
ありがとう