2017-02-03 2 views
0

HLSがストリーミングを停止したことを確認するにはどうすればよいですか?目的c HLSがストリーミングを停止したときを確認します。

マイコード:

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) 
{ 
    NSHTTPURLResponse *tempResponse = (NSHTTPURLResponse *) response; 

    if (error || [tempResponse statusCode] != 200) 
    { 
     //the video has stopped, do my stuff 
    } 
}]; 

は、現在の問題にも映像がはっきりとストリーミングを停止しましたが、ビデオプレーヤーも完全に停止しました。それでも私はビデオがまだ再生中であることを知らせるstatusCode = 200を返します。どのように正確かつ正確な方法でそれを実装するには? ありがとう

+0

HTTPステータスコードは、ビデオの再生の有無とは関係ありません。 HLSプレイリストを解析します。 –

+0

あなたはあなたの提案を詳述できますか?ステータスコードに何も付いていない場合、正しい方法は何ですか? – bubibu

+0

私が言ったように、サーバーから取得したHLSプレイリストデータを解析します。ストリーム内で何が起きているのかがわかります。 –

答えて

0

あなたがリクエストすると、HLSプレイリストが表示されます。サーバーのステータスコードは、HTTPステータスコードであるため何も意味しません。再生ステータスに関係なく、少なくともしばらくはプレイリストを正常に取得します。

ストリーミングが終了した場合HLSのプレイリストは、エンドマーカーが含まれています:

#EXT-X-ENDLIST 

詳しい情報はApple's documentationから見つけることができます。

ストリーミングの終了が再生が停止していない場合は、再生リストに記載されています。リストには多くのビデオが残っている可能性があります。再生が停止しているかどうかを知る唯一の方法は、再生を行うコンポーネントに依頼することです。

+0

"ストリーミングが終了した場合、HLSプレイリストには終了マーカーが含まれます"、どうすれば確認できますか? "EXT-X-ENDLIST"これはどこに返されますか? – bubibu

+0

@bubibuコード内にまだデータがありません –

+0

#EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID = 1、BANDWIDTH = 722000これはデータが私に返されたものです。 #EXT-X-ENDLIST – bubibu

関連する問題