您的位置:首页 > 移动开发 > Objective-C

object-c之音频视频的播放

2015-12-05 12:34 423 查看
1.播放视频。首先要引入关于音频和视频的框架

#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>

2.初始化播放器准备播放
//初始化
self.player = [[AVPlayerViewController alloc]init];
//设置播放内容
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"宣传资料.mp4" ofType:nil];
NSURL *url = [NSURL fileURLWithPath:filePath];
self.player.player = [AVPlayer playerWithURL:url];
//打开后自动播放
    [self.player.player play];


3.音乐的播放,这里写了一个播放音乐的方法。然后只需要把要播放的歌曲名字传过来然后就播放就绪了。
//播放音乐方法
- (void) musicPlayWithName:(NSString *)musicName
{
NSString *filePath = [[NSBundle mainBundle]pathForResource:musicName ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:filePath];
if(musicName==nil || url==nil || musicName.length==0)
{
return;
}
self.txtMusicName.text = musicName;
//初始化播放对象
AVAudioPlayer *player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
self.player = player;
[player prepareToPlay];
self.player.delegate = self;
}
//调用方法之后
[self.player play];//就可以播放了
//暂停
[self.player pause];
4.音乐播放有关播放进度的。需要加一个UISlider来显示播放进度然后配合上UITimer定时器来使用
//定时器的简单实例化
- (NSTimer *)timer
{
if(!_timer)
{
//默认添加到运行循环
_timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(refrishScreen) userInfo:nil repeats:YES];
}
return _timer;
}5.跟新播放进度
//定时器调用方法
- (void) refrishScreen
{
//获得已经播放的时间
NSTimeInterval current = self.player.currentTime;
//计算分钟数
NSInteger minute = current/60;
//获取秒
NSInteger s = (NSInteger)current%60;
self.txtPlayTime.text = [NSString stringWithFormat:@"%02ld:%02ld",minute,s];

NSTimeInterval endcurrent = self.player.duration;
//计算分钟数
NSInteger endminute = endcurrent/60;
//获取秒
NSInteger ends = (NSInteger)endcurrent%60;
//获得歌曲总时间
self.txtEndPlayTime.text = [NSString stringWithFormat:@"%02ld:%02ld",endminute,ends];
//设置进度条时间
self.slider.maximumValue = endcurrent;
self.slider.value = current;
}

6.音乐播放还有一个代理方法是要用到的。就是当播放完成的时候自定播放下一曲
#pragma mark --代理
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
[self btnNextMusic:nil];//这里直接调用下一曲的方法就行了。
[self.player play];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  视频 ios开发 音乐