……………………………………………………………………………
第1记 系统音频、音、视频播放器
……………………………………………………………………………
Login登陆;Register注册。
一、图片
1、为图片视图添加一组图片
NSMutableArray * imagesArr = [[NSMutableArray alloc]init];
for(int i = 0;i<25;i++)
{
获取图片的路径
NSString * path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"cat_angry00%.2d",i + 1] ofType:@"jpg"];
UIImage * image = [UIImage imageWithContentsOfFile:path];
[imagesArr addObject:image];
}
2、为imageView视图添加动画效果
[imageView setAnimationImages:imagesArr];
[imageView setAnimationDuration:3];
[imageView setAnimationRepeatCount:1];
[imageView startAnimating];
}
二、系统音频
使用系统音频的时候要导入这个系统库:AudioToolbox.framework
系统音频的特点:系统音频小于30s,急速、不能暂停,不能循环播放、不能播放立体音、不能播放混音。
<1>获取播放的系统音频的路径
NSString * path = [[NSBundle mainBundle] pathForResource:@"angry" ofType:@"m4a"];
<2>将字符串路径转化成NSURL
NSURL * url = [NSURL fileURLWithPath:path];
将本地路径转化成NSURL 使用的方法是fileURLWithPath:
将网络路径转化成NSURL 使用的方法是URLWithString:
<3>播放本地音频 需要向系统注册一个系统音频ID
SystemSoundID SID;
<4>创建系统音频
系统音频 调用的函数都是C语言函数 而且函数的函数名都是以AudioServices开头
CFURLRef类型和NSURL类型原理相同 只是表示的方式不同而已
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &SID);
<5>播放系统音频
AudioServicesPlaySystemSound(SID);
<6>系统音频播放结束
AudioServicesAddSystemSoundCompletion(SID, nil, nil, finish, nil);
三、简单的音乐播放器
使用长音频(歌曲)的时候要导入这个系统库:AVFoundation.framework
传值方法:代理、通知、KVC、block语法
四、视频播放器(完整)
视频播放导入这个系统库:MediaPlayer.framework
#import <MediaPlayer/MediaPlayer.h>
@interface XLViewController ()
{
//创建视频播放器对象
MPMoviePlayerViewController * moviePlayer;
}
@end
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(100, 100, 100, 100);
[btn setTitle:@"播放" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
-(void)pressBtn:(id)sender
{
//<1>获取视频资源的路径
NSString * path = [[NSBundle mainBundle] pathForResource:@"dzs" ofType:@"mp4"];
//<2>将字符串路径转化成NSURL
NSURL * url = [NSURL fileURLWithPath:path];
//<3>创建视频播放器对象
moviePlayer = [[MPMoviePlayerViewController alloc]initWithContentURL:url];
//<4>跳转到视图播放器的视图
[self presentMoviePlayerViewControllerAnimated:moviePlayer];
//<5>视频播放器没有协议 所有视频播放器的所有方法必须借助通知完成
//通知的名称是特殊的字符串 系统提供好的
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(finishPlaying:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
}
-(void)finishPlaying:(NSNotification *)notif
{
[self dismissMoviePlayerViewControllerAnimated];
}