iOS开发 - 音频相关
来源:互联网 发布:网页鼠标自动点击软件 编辑:程序博客网 时间:2024/05/17 08:04
一、简介
简单来说,音频可以分为 2 种
1.音效
- 又称『短音频』,通常在程序中的播放时长为 1 ~ 2 s
- 在应用程序中起到点缀效果,提升整体用户体验
2.音乐
- 比如游戏中的『背景音乐』,一般播放时间较长
播放音频可以使用框架:AVFoundation.framework
二、音效的播放
//1.获得音效文件的路径NSURL *url = [[NSBundle mainBundle] URLForResource:@"aaa.wav" withExtension:nil];//2.加载音效文件,得到对应的音效 IDSystemSoundID soundID = 0;AudioServicesCreatessSystemSoundID((__brage CFURLRef)(url)&soundID);//3.播放音效AudioServicesPlaySystemSound(soundID);
注意:音效文件只需要加载一次即可,所以可以使用懒加载的方式。
- 音效播放常见函数总结
1.加载音效文件
AudioServicesCreateSystemSoundID((CFURLRef inFileURL, SystemSoundID *outSystemSoundID)
2.释放音效资源
AudioServicesDisposeSystemSoundID(SystemSoundID inSystemSoundID)
3.播放音效
AudioServicesPlaySystemSoundID(SystemSoundID inSystemSoundID)
4.播放音效带点震动
AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)
三、音效的格式
注意:硬件解码器一次只能对一个音频文件解码。在实际应用中通常使用非压缩的音频格式(AIFF)或者 CAF 音频格式,从而降低系统在音频解码时的消耗,达到省电的目的。
四、音频转换工具
- 转换为 aiff 格式
afconvert -f AIFF -d I8 filename
- 转换为 caf 格式
afconvert -f caff -d aac -b 32000 filename
- 批量处理
find .-name '*.mp3' -exec afconvert -f caff -d aac -b 32000 {} \\;
五、音乐的播放
音乐的播放用到一个叫做 AVAudioPlayer
的类
AVAudioPlayer
常用方法如下:
//加载音乐文件-(id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;-(id)initWithData:(NSData *)data error:(NSError **)outError;//准备播放-(BOOL)prepareToPlay;//播放(异步播放)-(BOOL)play;//暂停-(void)pause;//停止-(void)stop;//更新测量值-(void)updateMeters;//获得当前的平均音量-(float)averagePowerForChannel:(NSUInteger)channelNumber;
- 相关属性如下:
//是否正在播放@property(readonly, getter = isPlaying) BOOL playing;//时长@property(readonly) NSTimeInterval duration;//当前的播放位置@property NSTimeInterval currentTime;//播放次数@property NSInter numberOfLoops;//音量@property float volume;//是否允许更改速率@property BOOL enableRate;//播放速率(1 是正常速率,0.5 是一般速率,2 是双倍速率)@property float rate;//有多少个声道@property(readonly) NSUInteger numberOfChannels//声道@property float pan;//是否允许测量音量@property(getter = isMeteringEnabled) BOOL meteringEnabled;
0 0
- iOS开发 - 音频相关
- ios 音频开发相关资料
- iOS 音频相关
- iOS音频播放相关
- ios音频相关基础知识
- ios 音频、VOIP相关、传输
- IOS音频录制相关笔记
- 初识ios音频相关类
- ios 音频、VOIP相关、传输
- iOS 关于音频开发
- iOS音频开发功能
- IOS音频开发
- IOS 音频开发
- iOS 关于音频开发
- iOS音频开发功能
- iOS开发>>>音频播放
- iOS 关于音频开发
- iOS音频开发功能
- Hadoop2源码分析-HDFS datanode核心模块分析
- MFC控件字体的改变
- ios添加图片资源报(ImageAsset)错和警告
- 泛型
- Android 内功心法(1.5)——android常用设计模式之命令模式
- iOS开发 - 音频相关
- 打印
- java 方法可变参数
- 大话设计模式java版--建造者模式
- 门面模式/外观模式
- iOS 全部清空通讯录
- 理解 Objective-C Runtime
- 飞机遭遇时空乱流离奇穿越到30年前
- Java多线程编程7--SimpleDateFormat非线程安全处理