ios--视频播放demo

原文摘自:http://blog.csdn.net/yhawaii/article/details/7601209


第一步:添加视频播放frameWork : MediaPlayer.framework


第二步:在ViewController中添加视频播放类的引用:

#import <MediaPlayer/MPMoviePlayerController.h>

第三步:编写方法实现视频播放和停止功能:

/**
 @method 播放电影
 */
-(void)playMovie:(NSString *)fileName{
    //视频文件路径
    NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"MOV"];
    //视频URL
    NSURL *url = [NSURL fileURLWithPath:path];
    //视频播放对象
    MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
    movie.controlStyle = MPMovieControlStyleFullscreen;
    [movie.view setFrame:self.view.bounds];
    movie.initialPlaybackTime = -1;
    [self.view addSubview:movie.view];
    // 注册一个播放结束的通知
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(myMovieFinishedCallback:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:movie];
    [movie play];
}

#pragma mark -------------------视频播放结束委托--------------------

/*
 @method 当视频播放完毕释放对象
 */
-(void)myMovieFinishedCallback:(NSNotification*)notify
{
    //视频播放对象
    MPMoviePlayerController *theMovie = [notify object];
    //销毁播放通知
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:theMovie];
    [theMovie.view removeFromSuperview];
}



其它教程中关于视频播放的步骤:

一、Media Player框架

视频的播放比较复杂 ,正因为如此苹果将它们的处理完美的封装到了Media Player框架中。

要使用Media Player框架,需要在项目中加入MediaPlayer.framework框架,并在源代码中导入<MediaPlayer/MediaPlayer.h>。

 

二、MPMovePlayerViewControoler类

Media Player框架中包含MPMovePlayerController类。而从SDK3.2开始,MPMovePlayerViewController替代。

 

MPMovePlayerViewController使用通知模式通知观察者某些事件正在发生。观察者需要注意3个通知:

MPMovePlayerContentPreloadDidFinishNotification:文件已加载

MPMovePlayerPlaybackDidFinishNotification:重放已完成

MPMovePlayerScalingModeDidChangeNotification:缩放模式改变

 

三、播放视频的步骤

1.将要播放的文件以URL的形式封装

NSString* path=[[NSBundle mainBundle]pathForResource:Mov_FileofType:nil];

NSURL *url = [NSURL fileURLWithPath:path];

 

2.使用URL初始化MPMovePlayerViewController对象

player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

 

3.根据需求,使用通知模式通知观察者

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(fileLoaded:) 

name:MPMediaPlaybackIsPreparedToPlayDidChangeNotification object:nil];

 

4.通过UIViewController(注意,非MPMovePlayerViewController)presentMoviePlayerViewControllerAnimated:方法即可播放视频

[self presentMoviePlayerViewControllerAnimated:player]; 

 

5.实现相关的事件监听方法

-(void)fileLoaded:(NSNotification *) notification {

        NSLog(@"%s",__FUNCTION__);

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linphone-iphone demo ios 是一个为 iOS 设备开发的开源软件,它提供了一个优秀的 IP 电话通讯网络服务,该服务可以实现 VoIP 通讯,即语音和视频通话以及音频和视频传输等。 Linphone-iphone demo ios 具有音频或视频呼叫、文本聊天、通讯录、语音信箱、呼叫转移、呼叫保持、呼叫等待等新颖有用的功能。Linphone-iphone demo ios 还支持 SIP 协议、SIP/TLS、SIP/UDP、IMAP、POP3、SMTP、SIP/RTP、SRTP 和 ZRTP 等主流的通信协议,几乎可以适应各类网络环境。 Linphone-iphone demo ios 是一个易于使用和实现的VoIP解决方案,在架构设计上,它可以和其他 VoIP 应用程序进行集成,可以与许多 SIP 服务器进行互操作性测试,并与一些常见 VoIP 应用程序比较常见性和稳定性。 Linphone-iphone demo ios 的整体性能也十分突出。它具有鲜明的 SIP 通信体验,提供了语音质量、通话时延与 VoIP 协议调和的解决方案,以保证声音质量清晰,通话时延低,并且网络环境不会影响通话质量。Linphone-iphone demo ios 的接口和界面设计都采用了最新的 UI 设计和开发技术,效果极佳,让用户使用起来非常友好。 总之,Linphone-iphone demo ios 是一款可以为 iOS 用户提供高质量 VoIP 通信服务的开源软件,丰富的功能、通用的协议以及高质量的音频/视频通话体验,使得它成为 VoIP 领域中一种非常有价值的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值