音效播放

一、前言

简单来说,音频可以分为两种:

  • 音效:又称“短音频”,通常在程序中的播放时长为1~2秒,在应用程序中起到点缀效果,提升用户体验。
  • 音乐:比如游戏中的背景音乐,一般播放时间较长。

播放音频需要用到的框架是AVFoundation.framework。

二、音效播放

  1. 引入头文件
    #import <AVFoundation/foundation.h>

  2. 播放音频

    // 创建播放soundID
    NSURL*url = [[NSBundlemainBundle] URLForResource:@"m_04.wav"withExtension:nil];
   SystemSoundID soundID;

    AudioServicesCreateSystemSoundID((__bridgeCFURLRef)(url), &soundID);

    self.soundID = soundID;

     // 播放音效
    AudioServicesPlaySystemSound(soundID);

3.停止音频

- (void)didReceiveMemoryWarning {
    AudioServicesDisposeSystemSoundID(self.soundID);
}

注意:

  • 该函数也可以播放音乐,但是不建议使用该方法播放音乐。
  • 不同格式的音频文件解码格式不一样,硬件解码耗电小,但是只能单线程;软件解码可以多线程,好点量大。开发中最好让平面设计提供硬件解码格式文件。
  • 音效文件只需加载一次

三、音频格式

注意:硬件解码器一次只能对一个音频文件解码。在实际应用中通常使用非压缩的音频格式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 {} ;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 简单来说,音频可以分为2种 音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果...
    JonesCxy阅读 973评论 1 2
  • 功能介绍 用于播放短小的音效 常用于播放系统的提示音使用到的框架 AudioToolBox 使用步骤 1、导入 A...
    安静SRR阅读 987评论 2 2
  • 介绍 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系...
    幻想无极阅读 1,418评论 0 1
  • 概述: AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到...
    写一本2000000的书阅读 3,481评论 2 3
  • SystemSoundID播放本地音效步骤 导入AVFoundation框架(其实音效处理对应的框架是AudioT...
    翻这个墙阅读 1,321评论 0 0