Play audio Files (播放音频文件)
来源:互联网 发布:地下城盗号软件 编辑:程序博客网 时间:2024/04/29 09:05
1。必须导入
#import <AVFoundation/AVFoundation.h>
2。实现协议: <AVAudioPlayerDelegate>
e.g.
@property (nonatomic, strong)AVAudioPlayer *audioPlayer;
- (void)actionPlay {
//为后续异步加载,使用并行全局队列
dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//加载本地音频资源 bundle -> file -> data ,因为有可能音频文件比较大,所以采用异步加载
dispatch_async(dispatchQueue, ^(void) {
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *filePath = [mainBundle pathForResource:@"MySong" ofType:@"mp3"];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];
NSError *error = nil;
/* 当模拟器有声音,真机无声音时 需在启动播放器之前 加上以下这一句 */
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
/* 初始化 音频播放器 */
self.audioPlayer = [[AVAudioPlayer alloc] initWithData:fileData error:&error];
if (self.audioPlayer != nil){
/* 设置代理,启动 */
self.audioPlayer.delegate = self;
if ([self.audioPlayer prepareToPlay] && [self.audioPlayer play]){
NSLog(@"Successfully started playing");
} else {
NSLog(@"Failed to play");
}
} else {
NSLog(@"Failed to instantiate AVAudioPlayer");
}
});
}
//可在结束播放时,释放(无论是正常停止,或是意外停止) 参数flag : 播放是否成功结束
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{
NSLog(@"Finished playing the song");
if ([player isEqual:self.audioPlayer]){
self.audioPlayer = nil;
} else {
/* 其它播放器不作处理 */
}
}
//被中断,如来电等
- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player{
/* Audio Session is interrupted. The player will be paused here */
}
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withOptions:(NSUInteger)flags{
if (flags == AVAudioSessionInterruptionOptionShouldResume && player != nil){
[player play];
}
}
- Play audio Files (播放音频文件)
- h5 audio播放音频文件
- Play video Files(播放视频)
- symbian 如何播放声音文件Playing audio files
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- IOS音频3:之采用四种方式播放音频文件(三)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- IOS音频4:之采用四种方式播放音频文件(四)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- IOS音频5:之采用四种方式播放音频文件(五)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- Matlab播放音频文件(音乐)!
- 【audio play音频】 android 简单的MP3播放器代码
- 播放音频文件
- 播放音频文件
- IOS音频2:之采用四种方式播放音频文件(二)AudioToolbox AVFoundation OpenAL AUDIO QUEUE(2014-10-17 16:07)
- Loading and Playing Audio in an Application:在程序加载并播放一段音频文件
- (一)DirectSound接口播放WAVE音频文件
- (二)DirectShow接口播放Mp3音频文件
- mono touch播放音频文件(.caf文件)
- Linux 下录制和播放 声音, record & play audio in linux
- 内存错误代码一览
- poj——2457——Part Acquisition
- Windows Socket API 使用经验
- Java Web 中的各种路径问题(草稿)
- DevExpress中如何实现GridControl的分页功能(组件)
- Play audio Files (播放音频文件)
- hdu4815长春赛C题
- Java基础知识点汇总
- [网络流24题 #17]运输问题
- [html5+css3] 什么是HTML5,html5应用的领域
- 在ubuntu中安装中文字体
- 三位水仙花数1
- [网络流24题 #1]飞行员配对方案问题
- 国内网速制约网站建设发展改革