iPhone开发笔记(1)MPMoviePlayerController的用法和播放时只有声音没有图像的解决办法

 MPMoviePlayerController类是一个功能非常强大的类,它可以播放MOV、MP4、MPV、M4V、3GP、MP3、AIFF和M4A,定义起来也非常简单。下面说一下MPMoviePlayerController的简单用法和我使用时出现的问题。

    我用的是SDK4.1,现在应该不会有还在用sdk3的骨灰级开发者了吧。

[c-sharp]  view plain copy
  1. MPMoviePlayerController *moviePlayer;moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:要播放文件的URL];moviePlayer.scalingMode = MPMovieScalingModeAspectFill;[moviePlayer.view setFrame:CGRectMake(30, 210, 250, 350)];[moviePlayer.view setBackgroundColor:[UIColor clearColor]];[self.view addSubview:moviePlayer.view];[moviePlayer play];  


说明:

1、scalingMode属性决定的是添加的视频播放器的填充方式。

2、请一定要调用moviePlayer.view的setFrame方法,要不然你添加的播放器就会出现只播放声音而没有图像的情况。

3、在设置好moviePlayer的各种属性后,最后不要忘了调用当前view的addSubview方法把moviePlayer.view添加为当前视图的子视图。

4、如果播放的文件是音频文件而不是视频文件,那么播放的时候只有一个播放栏。

可以使用下列样式:
MPMovieControlModeDefault            显示播放/暂停、音量和时间控制
MPMovieControlModeVolumeOnly         只显示音量控制
MPMovieControlModeHidden             没有控制器

5屏幕宽高比例

你可以使用下列宽高比值:
MPMovieScallingModeNone            不做任何缩放
MPMovieScallingModeAspectFit       适应屏幕大小,保持宽高比
MPMovieScallingModeAspectFill      适应屏幕大小,保持宽高比,可裁剪
MPMovieScallingModeFill            充满屏幕,不保持宽高比

----------------------------------------------------------http://blog.sina.com.cn/iostang

通知
你的程序可以配置电影播放器在何时候发送通知,包括结束加载内容、技术播放、改变宽高比等。电影播放器会将事件发送到 Cocoa 的通知中心,你可以对其进行配置,指定将这些事件转发到你的应用程序的一个对象。要接收这些通知,需要使用 NSNotificationCenter 类,为电影播放器添加一个观察者(observer):
[html]  view plain copy print ?
  1. NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter];  
  2. [ notificationCenter addObserver:self selector:@selector(moviePlayerPreloadFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:moviePlayer ];  
通知会发到你指定的委托类和目标方法。通知参数让你可以知道是哪个事件触发了委托方法:
[html]  view plain copy print ?
  1. -(void)moviePlayerPreloadDidFinish:(NSNotification*)notification{  
  2.     //添加你的处理代码  
  3. }   
你会观察到以下通知:
MPMoviePlayerContentPreloadDidFinishNotification 
当电影播放器结束对内容的预加载后发出。因为内容可以在仅加载了一部分的情况下播放,所以这个通知可能在已经播放后才发出。
MPMoviePlayerScallingModeDidChangedNotification 
当用户改变了电影的缩放模式后发出。用户可以点触缩放图标,在全屏播放和窗口播放之间切换。
MPMoviePlayerPlaybackDidFinishNotification 
当电影播放完毕或者用户按下了Done按钮后发出。
更多 2


你可能感兴趣的:(iPhone开发笔记(1)MPMoviePlayerController的用法和播放时只有声音没有图像的解决办法)