HTTPライブストリーム "playlist.m3u8"からビデオを再生するiOSアプリケーションがあり、AVPlayerを使用して作成したカスタムプレーヤーがあります。スクラブなどの通常のユーザー操作を処理するには、動画の再生時間を取得する必要がありますが、何らかの理由でiOS 4.3でxcode 4.0を使用しているときに次のコードを呼び出すと、秒に変換されるとNaNが返されますCMTimeValue = 0とCMTimeScale = 0でNaNが与えられ、CMTimeFlags = 17がさらに奇妙なので、何をしているのか。iOS AVAsset.durationはHTTPライブストリーミングではゼロですが、プログレッシブで動作します
AVPlayerItem *pItem = mPlayer.currentItem;
AVAsset* asset = pItem.asset;
CMTime d = asset.duration;
double duration = CMTimeGetSeconds(asset.duration);
私も、私は私が/再生をスクラブを開始する前に、それは準備ができていることを確認するためにロードプレイリストのステータスを監視行うことを言及する必要があります。ここでは
は全く複雑ではない、私が使用するコードです:[mPlayer addObserver:self forKeyPath:@"currentItem.status" options:0 context:VideoPlaybackViewDelegateStatusContext];
誰もがこの問題について助けてくれてありがとう。
これは、iOS 4.2(シミュレータとデバイスの両方)で動作することを忘れていました。 – Aaron