iOS有一些自带的音乐和视频播放器类,使用起来非常简单,在这里做一下简单的介绍。
首先,使用AVAudioPlayer和AVPlayer类可以播放音乐,它们使用起来简单方便,但AVAudioPlayer只能播放本地音乐,不支持流媒体播放。而AVPlayer可以播放本地音乐和流媒体音乐,但是提供的接口非常少,不够灵活,如果要做一些专业性质的播放器,还需要专门的开源类。
下面是AVAudioPlayer的简单使用方法:
//获取音频文件路径
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"爱无止境" ofType:@"mp3"];
//初始化本地URL
NSURL *url = [NSURL fileURLWithPath:path];
//初始化音频对象
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
//分配播放音乐所需要的资源
[_audioPlayer prepareToPlay];
//播放
if ([_audioPlayer play]) {
NSLog(@"开始播放");
}
以及AVPlayer:
//-----------播放远程
NSString *urlString = @"http...";
NSURL *url = [NSURL URLWithString:urlString];
AVPlayer *player = [[AVPlayer alloc] initWithURL:url];
[player play];
//-----------播放本地
//获取音频文件路径
NSBundle *bundle = [NSBundle mainBundle];
NSString *urlString = [bundle pathForResource:@"爱无止境" ofType:@"mp3"];
//初始化本地URL
NSURL *url = [NSURL fileURLWithPath:urlString];
_player = [[AVPlayer alloc] initWithURL:url]; //播放本地需要将播放器设置为全局变量
[_player play];
如果想要播放视频则可以使用iOS自带的MPMoviePlayerController和MPMoviePlayerViewController类,需要注意的是MPMoviePlayerViewController是一个特殊的视图控制器类,它包含了一个MPMoviePlayerController。
它们的使用方法:
MPMoviePlayerController:
NSString *urlStringPath = [[NSBundle mainBundle] pathForResource:@"表视图控制器的基本概念" ofType:@"MP4"];
NSURL *url = [NSURL fileURLWithPath:urlStringPath];
// NSString *urlString = @”http…”;
// NSURL *url = [NSURL URLWithString:urlString];
MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.view.frame = CGRectMake(0, 0, 320, 200);
moviePlayer.view.backgroundColor = [UIColor redColor];
[self.view addSubview:moviePlayer.view];
[moviePlayer play];
MPMoviePlayerViewController:
NSString *urlStringPath = [[NSBundle mainBundle] pathForResource:@"表视图控制器的基本概念" ofType:@"MP4"];
NSURL *url = [NSURL fileURLWithPath:urlStringPath];
MPMoviePlayerViewController *PlayerMovieController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
//[self presentModalViewController:PlayerMovieController animated:YES];
[self presentMoviePlayerViewControllerAnimated:PlayerMovieController];
版权声明:本文为xiyouiOS原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。