Fra*_*scu 5 iphone video mpmovieplayercontroller
从3.2 iPhone OS SDK开始,播放视频确实与众不同.
所以我想知道是否有一种方法可以使用兼容代码(<和> 3.2)全屏播放视频,而无需为这两种情况编写代码.
我想我们必须写两个版本的类来处理视频播放......
你的!
小智 2
我基本上按照上面 Jeff Kelly 的建议在 3.1 及更高版本上运行,请注意instancesRespondToSelector 调用:
// Initialize a movie player object with the specified URL
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
if (mp)
{
// Register to receive a notification when the movie has finished playing.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
//Will only run this code for >= OS 3.2
if ([MPMoviePlayerController instancesRespondToSelector:@selector(setFullscreen:animated:)]){
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(nowPlayingMovieDidChange:)
name:MPMoviePlayerNowPlayingMovieDidChangeNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerDidExitFullscreenNotification
object:nil];
mp.controlStyle = MPMovieControlStyleFullscreen;
[mp setScalingMode:MPMovieScalingModeAspectFit];
//change mainMenu here to whatever your parent view is
[mp.view setFrame:mainMenu.frame];
[self.view addSubview:mp.view];
[mp setFullscreen:YES animated:NO];
}
//continue as normal
Run Code Online (Sandbox Code Playgroud)
然后在 moviePlayBackDidFinish 函数中,我使用相同的技术来删除通知。
归档时间: |
|
查看次数: |
1233 次 |
最近记录: |