最近一直在研究MPMoviePlayerController,才發現內建的功能不是很完全,若要做到令人滿意的境界,只有客制化一途~
這裡就是註冊觀察者來偵測播放狀態改變時要執行的動作。那裡是註冊觀察者來偵測播放結束時要執行的動作。
/**
Theme: Register Observer when Playback State Did Change
IDE: Xcode 5
Language: Objective C
Date: 102/12/19
Author: HappyMan
Blog: https://cg2010studio.wordpress.com/
*/
// .h file
MPMoviePlayerController *moviePlayerController;
// .m file
//使用Observer製作播放狀態改變時要執行的動作
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:moviePlayerController];
-(void)moviePlaybackStateDidChange:(NSNotification *)notification
{
MPMoviePlaybackState playbackState = [moviePlayerController playbackState];
switch (playbackState) {
case MPMoviePlaybackStateStopped:
;
break;
case MPMoviePlaybackStatePlaying:
;
break;
case MPMoviePlaybackStatePaused:
;
break;
case MPMoviePlaybackStateInterrupted:
;
break;
case MPMoviePlaybackStateSeekingForward:
;
break;
case MPMoviePlaybackStateSeekingBackward:
;
break;
default:
break;
}
}
一共可以偵測到六種狀態,我以為最後兩種就是我要的tap動作前進和後退,但事實上是long press動作前進和後退。查了StackOverflow有經驗的人說無法做到⋯⋯
還發現iOS 6和iOS 7在的前進在tap動作後,前者居然沒有反應⋯⋯

隨意留個言吧:)~