iOS 长短音频的播放
2015-12-30 15:54
507 查看
#import <Foundation/Foundation.h> #import <AVFoundation/AVFoundation.h> #import <AudioToolbox/AudioToolbox.h> @interface BaseAVAudioPlayer : NSObject<AVAudioPlayerDelegate> { AVAudioPlayer *avAudioPlayer; //播放器player } + (BaseAVAudioPlayer *)sharedManager; /** * 系统 短音频播放 时间<30s * * @param musicName 播放音频的名称 */ - (void)avaudioPlayerWithName:(NSString *)musicName; /** * 系统 长音频播放 * * @param musicName 播放音频的名称 */ - (void)noavaudioPlayerWithName:(NSString *)musicName; @end
#import "BaseAVAudioPlayer.h" @implementation BaseAVAudioPlayer + (BaseAVAudioPlayer *)sharedManager { static BaseAVAudioPlayer *sharedAccountManagerInstance = nil; static dispatch_once_t predicate; dispatch_once(&predicate, ^{ sharedAccountManagerInstance = [[self alloc] init]; }); return sharedAccountManagerInstance; } /** * 系统 短声音播放 时间<30s * * @param musicName 播放音频的名称 */ - (void)avaudioPlayerWithName:(NSString *)musicName { SystemSoundID soundID = 0; NSString *path = [[NSBundle mainBundle] pathForResource:musicName ofType:@"wav"]; if (path) { //注册声音到系统 AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path],&soundID); AudioServicesPlaySystemSound(soundID); } AudioServicesPlaySystemSound(soundID); //播放注册的声音,(此句代码,可以在本类中的任意位置调用,不限于本方法中) } /** * 系统 长音频播放 * * @param musicName 播放音频的名称 */ - (void)noavaudioPlayerWithName:(NSString *)musicName { //从budle路径下读取音频文件 轻音乐 - 萨克斯回家 这个文件名是你的歌曲名字,mp3是你的音频格式 NSString *string = [[NSBundle mainBundle] pathForResource:musicName ofType:@"wav"]; //把音频文件转换成url格式 NSURL *url = [NSURL fileURLWithPath:string]; if (!url) return;//如果URL不存在,那么就直接返回 if (avAudioPlayer.play) { [avAudioPlayer stop]; avAudioPlayer = nil; } //初始化音频类 并且添加播放文件 avAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; //设置初始音量大小 avAudioPlayer.volume = 1; //设置代理 avAudioPlayer.delegate = self; //设置音乐播放次数 -1为一直循环 avAudioPlayer.numberOfLoops = 0; //播放 [avAudioPlayer play]; } - (void)dealloc { avAudioPlayer = nil; } @end
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- java音频播放示例分享(java如何播放音频)
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- python通过wxPython打开一个音频文件并播放的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法