1

MPMoviePlayerControllerを使用してビデオを再生する iPhone アプリケーションを開発しています。カスタム コントロールを使用してビデオを再生します。

ビデオのタイムラインを表示するスライダーがあります。このユーザーを使用すると、ムービーの任意のタイムラインにムービーをシークできます。

ユーザーがスライダーを連続的に動かした場合:

  1. 初めてビデオを一時停止します。[MPMoviePlayerController-obj pause]
  2. MPMoviePlayerController-obj.currentPlaybackTime = slider.value

スライダーのアクションが終了すると:

  1. ビデオを再生します。[MPMoviePlayerController-obj play]

これにより、ユーザーがスライダーを離れた位置からムービーが再生されます。ただし、ムービーの再生が完了すると、空白のフレームにつながります。この欠陥はランダムに発生します。つまり、すべてのシーク時間ではありません。

空白のフレームを取得する理由は何ですか? これを解決するにはどうすればよいですか?

4

2 に答える 2

2

MPMoviePlayerControllerコンテンツに欠陥がないことを確認し、その問題を引き起こす可能性があるため、 Appleのリファレンスビデオコンテンツを使用して、欠陥のある結果を再現するようにしてください。

不適切なエンコーディングに関連する多くの問題を個人的に観察しました。非可逆圧縮コンテンツを操作する場合、奇妙なことが起こる傾向があります。これは、ビデオ(iフレームとpフレーム)およびオーディオ(可変ビットレート)に当てはまります。

1つは、不適切な再生期間が報告されていることです。このような問題は、予期しない終了状態になる可能性があります。MPMoviePlayerController実際のビデオが明らかに終了しているにもかかわらず、再生に数秒かかる場合があります。これらのケースは、ユーザーがビデオ内を探し回ると頻繁に発生します。

指定されたサンプルファイルを使用して問題が発生することを確認したら、バグレポートを提出する必要があります。

于 2011-06-02T20:35:18.493 に答える
2

これが機能するかどうかはわかりませんがinitialPlaybackTime、 をslider.valueまたは に設定してみてくださいcurrentPlaybackTime

于 2011-05-30T10:00:33.270 に答える