MPMovidePlayerのムービープログレススライダーの外観または少なくとも位置をカスタマイズする方法はありますか?
3 に答える
を使用して既存のコントロールを非表示にしMPMovieControlStyle
、これをに設定しMPMovieControlStyleNone
ます。
add
これで、表示custom control
されますMPMoviePlayer's
。
uislider-to-control-avaudioplayerの例を参照しMPMoviePlayer
てください。currentPlaybackTime
mpmovieplayercontroller -buffering-stateリンクを参照してください。
mpmovieplayercontroller -when-will-i-know-that-the-downloading-of-the-file-reachリンクを参照してください。
このためには、独自のカスタムスライダーを作成する必要があります。たとえば、MPMoviePlayerControllerプログレスバーを非表示にし、独自のカスタムプログレスバーを作成できます。このコードでMPMoviePlayerControllerプログレスバーを非表示にできます。
moviePlayerController.controlStyle = MPMovieControlStyleNone;
次に、カスタムプログレスバーを作成できます
UISlider *progressbar;
[progressbar setMinimumTrackImage:[UIImage imageNamed:@"min.png"] forState:UIControlStateNormal];//you can set the background for which you have progressed the video
[progressbar setMaximumTrackImage:[UIImage imageNamed:@"max.png"] forState:UIControlStateNormal];//you can set the background for which you have left the video
[progressbar setThumbImage:[UIImage imageNamed:@"thumb.png"] forState:UIControlStateNormal];//you can set the thumb image for you progress bar.
これは、スレッド内のスライダーの位置を更新できるスライダーになります。
これは、MPMoviePlayerControllerのようなスライダーを進行させるためのコードです。
「NSTimerを使用して、スライダーをMPMoviePlayerControllerプログレスバーとしてスムーズに移動します」
//必要に応じてscheduledTimerWithTimeIntervalを変更できます
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateSlider) userInfo:nil repeats:YES];
「currentPlaybackTimeをスライダー値に設定」
- (void)updateSlider {
slider1.value = self.moviePlayerController.currentPlaybackTime;
}