2012-02-08 12 views
0

私はiPhoneアプリを作って、AVPlayerのシークバーを作っている。私はUISliderでそれを作る。 AVPlayerはオンラインのビデオとオーディオで動作します。しかし、スライダの位置を変更してAVPlayerのcurrentTimeを設定したい場合、この値は10に近い値に丸められます(たとえば、17秒の値を設定すると、AVPlayerは20秒に変更します)。オンラインのオーディオは大丈夫です。AVPlayerのシークバーが四捨五入されて10秒になる。

答えて

0

UISlidersには「minValue」および「maxValue」というプロパティがあります。再生しようとしているメディアの長さを知ったら、これらのプロパティの解像度がメディアの長さと一致することを確認してください。

+0

私はそれを次のように設定しました:durationTime = playerItem.duration.value/playerItem.duration.timescale; startTime = 0.0; – Dangelo

+0

しかし、あなたの問題は、スライダの解像度、正しいですか? AVPlayerに渡される値を確認して確認します。 – Stavash

+0

- (IBAction)timeSliderValueChanged:(id)送信者{ \t CMTime newTime = CMTimeMakeWithSeconds(timeSlider.value、600); //ここに例を挙げるとslider.value = 25 \t [player seekToTime:newTime]; // avplayerに25秒を設定しますが、30秒間プレイを開始します。最小/最大値が正しい。 } – Dangelo

関連する問題