2011-06-10 3 views
0

私はカスタムUISliderを持っていて、currentPlaybackTimeを使ってMPMoviePlayerControllerオブジェクトの値を変更しています。iPadのビデオ用カスタムSLider

問題は、私は、スライダーを使用して速い速度でスクラブするとき、それは早く私が望むように応答しない..です

iPad用の高速インタラクティブスクラバーを持っている任意のより良い方法はありますか? OSからのターゲティング3.2

答えて

0

2つの問題がありますが、1つしか直接制御できません。

マルチメディアコンテンツは、通常、何らかの種類のデルタ圧縮を使用して圧縮されるため、迅速かつ正確なシークは対処するための簡単な作業ではありません。それは一般的で、あなたが直接それを変更することはできないので、あなたはそれと一緒に暮らさなければなりません。

  • コンテンツ側にシークするための応答性を増加させる唯一の方法は、(コード)GOPサイズを減少さ - Iフレーム間つまり、以下Pフレーム。

  • スライダーなどのコントロールを使用する場合は、現在の再生位置を直接接続する代わりに、間接的な方法で手動の変更を処理できます。スライダー/スクラバーが移動されたときはいつでも、その新しい値に向かって再生位置を調整しようとするタイマーベースのジョブを実行することができます。プレーヤーがシークしたら、スクラバーが現在の再生位置からのフィードバックを得ないようにしますが、プレーヤーが再びプレイ状態になったらそれを許可します。このようにして、ユーザは、クンキーなシーク・フィードバックを直接経験することはない。

+0

2番目の提案は、どのようにスクラバーから直接値を取得するのと違うのですか? また、gop-sizeは、キーフレームと同じですか? –

+0

GOPサイズの場合:はい、iフレームはキーフレームとも呼ばれます。より多くのキーフレーム=小さいゴップサイズ。 与えられた第2の解決策について:スライダ値を間接的に(例えばタイマーを介して)使用すると、スライダからシーク性能が切り離される。 – Till

+0

はいGOPサイズを小さくすると(キーフレームを減らすのに役立ちましたが)十分な滑らかさが得られませんでした。これは私が生きなければならないいくつかの制限です。デスクトップ上でのスクラブほど滑らかになることは決してありません。 –