iOS播放系统音频的几种方式
2017-05-16 09:57
337 查看
播放系统音频的几种方式
系统提示音的播放,有一个很方便的工具类AudioToolbox参照这里的系统提示音id对照表
#import <AudioToolbox/AudioToolbox.h> //播放系统提示音,通过自动定义好的soundID就可以直接播放 SystemSoundID soundIDTest = 1007; AudioServicesPlaySystemSound(soundIDTest);
这个工具类还可以播放自定义的声音文件,通过AudioServicesCreateSystemSoundID创建一个soundId就能播放
#import <AudioToolbox/AudioToolbox.h> //播放test.wav文件 static SystemSoundID soundIDTest = 0;//当soundIDTest == kSystemSoundID_Vibrate的时候为震动 NSString * path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"wav"]; //这个path也可以是系统音频文件夹的位置 //提示音音频文件位置:/System/Library/Audio/UISounds //电话音频文件位置:/Library/Ringtones //NSString * path = @"/Library/Ringtones/Waves.m4r" if (path) { AudioServicesCreateSystemSoundID( (__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundIDTest ); } AudioServicesPlaySystemSound( soundIDTest );
用AVFoundation播放,这个有更多的控制功能,带有delegate
NSString *filePath = [mainBundle pathForResource:@"MySong"ofType:@"mp3"];//获取音频文件 NSData *fileData = [NSData dataWithContentsOfFile:filePath]; NSError *error = nil; //可以通过NSData初始化,也可以通过FileUrl self.audioPlayer = [[AVAudioPlayer alloc] initWithData:fileDataerror:&error]; //fileUrl初始化 //NSURL *url = [NSURL fileURLWithPath:filePath]; //AVAudioPlayer *avAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; if (self.audioPlayer != nil) { self.audioPlayer.delegate = self; if ([self.audioPlayer prepareToPlay] &&[self.audioPlayer play]) { //成功播放音乐 } else { //播放失败 } } else { /* 无法实例AVAudioPlayer */ } #pragma mark - 播放器代理方法 -(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{ NSLog(@"音乐播放完成..."); }
疑问
既然iOS的文件系统是有沙盒隔离的,为什么直接访问系统音频的两个系统目录却有权限?相关文章推荐
- iOS开发————几种音频播放方式
- iOS音频播放的几种方式,打开后台模式的音乐播放、使用AVAudioPlayer播放音乐、播放指定的音频文件、注册音频文件
- iOS 播放音频的几种方式
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 音频播放的3中方式
- ios 关于系统音乐和AVAudioPlayer 播放的音频冲突的情况
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 音频播放的几种方法
- IOS音频2:之采用四种方式播放音频文件(二)AudioToolbox AVFoundation OpenAL AUDIO QUEUE(2014-10-17 16:07)
- iOS 播放音频的几种方法
- 播放音频的几种方式
- 关于iOS中音视频播放的几种方式介绍
- C#获取音频文件(MP3等)播放时间长度的几种方式
- IOS音频4:之采用四种方式播放音频文件(四)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
- ios-系统音频播放
- iOS 播放音频的几种方法