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];
}
#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];
}
相关文章推荐
- 网易云音乐8亿用户背后的伤疤
- DVI 视频接口图文解析
- C#实现语音视频录制-附demo源码
- C#调用mmpeg进行各种视频转换的类实例
- C#获取视频某一帧的缩略图的方法
- js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
- 显示youtube视频缩略图和Vimeo视频缩略图代码分享
- iOS开发之路--微博“更多”页面
- PHP实现微信公众平台音乐点播
- PHP使用ffmpeg给视频增加字幕显示的方法
- PHP实现将视频转成MP4并获取视频预览图的方法
- C++实现优酷土豆去视频广告的方法
- PHP简单获取视频预览图的方法
- asp.net 页面中添加普通视频的几种方式介绍
- Android获取SD卡上图片和视频缩略图的小例子
- Python实现提取谷歌音乐搜索结果的方法
- php使用memcoder将视频转成mp4格式的方法
- 基于js与flash实现的网站flv视频播放插件代码
- java调用ffmpeg实现视频转换的方法
- iOS开发之路--微博骨架搭建