使用系统类播放音频和视频
iOS的系统类中提供了用于播放音频和视频的类,支持常见的多媒体格式
框架支持:MediaPlayer.framework, AVFoundation.framework
1.音频
类: AVAudioPlayer
支持格式: AAC,AMR,ALAC,iLBC,IMA4,PCM,MP3
初始化方法:
initWithContentOfURL: error:
initWithDate: error:
file type hint:是一个在AVMEdiiaFormat.h中声明的常量,是一种文件格式,如: AVFileTypeAIFF
initWithContentsOfURL: fileTypeHint: error:
initWithData: fileTypeHint: error:
基本属性:
BOOL playing 正在播放
NSUInteger numberOfChannels 频道
NSTimeInterval duration 持续时间
id<AVAudioPlayerDelegate> delegate
NSURL *url
NSData *data
float volume 音量
NSTimeInterval currentTime 当前时间
NSTimeInterval deviceCurrentTime 当前设备上的时间
基本方法
- (BOOL)play; 播放
- (BOOL)playAtTime:(NSTimeInterval)time 在未来的时间播放
- (void)pause; 暂停
- (void)stop; 停止
代理方法: AVAudioPlayerDelegate
//音频播放完成
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
如果是iPhone,还有更加丰富的代理方法,这里就不一一列举了
2.视频
视频播放是系统定义的播放控制器,使用十分简单,仅仅需要初始化控制器,并模态界面即可
小窗口播放
类: MPMoviePlayerController
初始化方法
- (instancetype)initWithContentURL:(NSURL *)url
基本属性
@property (nonatomic) MPMovieControlStyle controlStyle; 控制风格
@property (nonatomic, getter=isFullscreen) BOOL fullscreen; 是否全屏
@property (nonatomic) MPMovieScalingMode scalingMode; 决定视频如何适应View的大小
@property (nonatomic, readonly) NSTimeInterval duration;视频时长
@property (nonatomic, readonly) CGSize naturalSize; 视频的大小尺寸
大窗口播放
类: MPMoviePlayerViewController
初始化方法
- (instancetype)initWithContentURL:(NSURL *)contentURL
基本属性
MPMoviePlayerController *moviePlayer;
播放界面方向的控制
- (BOOL)shouldAutorotate 是否支持屏幕自动旋转
- (NSUInteger)supportedInterfaceOrientations 支持旋转的方向