以下是一个非常简单的视频播放代码,并且可以简单的理解Cocoa中的通告使用方法。
- (voID)playMovIEAtURL:(NSURL*)theURL //简单的方法,传入一个视频地址
{
MPMovIEPlayerController *thePlayer = [[MPMovIEPlayerController alloc]
initWithContentURL:theURL]; //初始化播放器
thePlayer.scalingMode = MPMovIEScalingModeAspectFill; //下面有详细的缩放解释
//thePlayer.userCanShowTransportConstrols = NO; 这个是苹果文档上的原始代码,是错的...
thePlayer.movIEControlMode = MPMovIEControlModeDefault; //缺省视频控制
[[NSNotificationCenter defaultCenter] addobserver:self
selector:@selector(myMovIEFinishedCallback:)
name:MPMovIEPlayerPlaybackDIDFinishNotification thePlayer];
//注册本地类为thePlayer的通告对象,通告方法为“视频播放结束”,
//回应方法为myMovIEFinishedCallback
//也就是说,当视频播放结束以后,运行该方法
[thePlayer play]; //播放!
}
- (voID)myMovIEFinishedCallback:(NSNotification*)aNotification
{
MPMovIEPlayerController *thePlayer = [aNotification object];
//从通告中导入这个播放器对象,如果播放器是单独的类成员,那就不用这步咯。
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMovIEPlayerPlaybackDIDFinishNotification
thePlayer];
//这步非常非常重要,一定要将被监听对象卸载,
//否则本地对象卸载后,监听对象为nil,软件会崩溃的
[thePlayer release]; //释放视频对象
}
scalingMode缩放模式的四种参数:
-MPMovIEScalingModeNone
-不对视频进行缩放
-MPMovIEScalingModeAspectFit
-视频缩放到内框,4比3的视频会在左右留下黑框
-MPMovIEScalingModeAspectFill
-视频缩放到外框,4比3的视频上下会被削掉一部分
-MPMovIEScalingModeFill
-视频被拉伸,失去原始比例
总结
以上是内存溢出为你收集整理的iPhone开发中视频播放与通告(Notification)全部内容,希望文章能够帮你解决iPhone开发中视频播放与通告(Notification)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)