IOS 播放视频(MPMoviePlayerController、MPMoviePlayerViewController)

本文介绍iOS平台下使用MPMoviePlayerController及MPMoviePlayerViewController播放视频的方法,包括如何加载资源、显示播放器、添加通知监听等,并对比两类播放器的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS提供了叫 做MPMoviePlayerControllerMPMoviePlayerViewController的两个 类,可以用来轻松播放视频

 ➢ YouTobe就是用MPMoviePlayerController实现的 MPMoviePlayerViewController只能全屏播放视频

上述两个类都定义在了MediaPlayer框架中

 

 
 

 

 

MPMoviePlayerController-01-加载资源

 // 加载视频资源
NSString *urlString = [[NSBundle mainBundle]

pathForResource:@"sample_iTunes" ofType:@"mov"];
NSURL *url = [NSURL fileURLWithPath:urlString];

// 创建播放器

_player = [[MPMoviePlayerController alloc]
initWithContentURL:url];

// 加载视频资源
NSString *urlString = [[NSBundle mainBundle]
pathForResource:@"sample_iTunes" ofType:@"mov"];
NSURL *url = [NSURL fileURLWithPath:urlString];

// 创建播放器

_player = [[MPMoviePlayerController alloc]
initWithContentURL:url];

 

MPMoviePlayerController-02-显示

 

// 设置尺寸
_player.view.frame = self.view.bounds;
_player.view.autoresizingMask =UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;

// 添加到控制器的view
[self.view addSubview:_player.view]; // 播放
[_player play];

 

 

MPMoviePlayerController-03-添加通知监听

 

// 监听播放状态的改变

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

name:MPMoviePlayerPlaybackStateDidChangeNotification object:_player];

// 监听播放器结束全屏

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitFullscreen)
name:MPMoviePlayerDidExitFullscreenNotification object:_player];

 

MPMoviePlayerController其他属性

 

是否要自动播放
@property(nonatomic) BOOL shouldAutoplay;

全屏显示
@property(nonatomic, getter=isFullscreen) BOOL

fullscreen;
- (void)setFullscreen:(BOOL)fullscreen animated:

(BOOL)animated;

截取视频中的图片

- (void)requestThumbnailImagesAtTimes:(NSArray
*)playbackTimes timeOption:(MPMovieTimeOption)option;

 

 

MPMoviePlayerViewController

MPMoviePlayerViewController继承自UIViewController,它内部封装了一 个MPMoviePlayerController

MPMoviePlayerViewController只能全屏播放

简单使用:

MPMoviePlayerViewController *play =
[[MPMoviePlayerViewController alloc] initWithContentURL:url];

其他
音频处理
依赖的框架:AVFoundationAudioToolbox框架
播放长音乐:AVAudioPlayer
播放短音效:加载音频文件生成SystemSoundID
录音:AVAudioRecord
 

 ● 较为底层、高级的音频\视频处理

CoreAudioCoreVideo框架

 

 

 


转载于:https://www.cnblogs.com/liuwj/p/6701486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值