“五一”长假过的真快,三天就这么过去了。新的一周开始了,这周搞搞iOS平台上音频的解码与播放。动手咯,切入AudioToolbox.framework的学习,这个库太强大了,要想彻底弄懂不简单,从某种程度上来说,是不需要搞的非常彻底的,因为做任何事都要以目的为导向。为什么要用AudioToolbox.framework?用AudioToolbox.framework能达到自己的需求吗?如果,AudioToolbox.framework能满足自己的需求,那用它实现自己的需求就是价值导向,至于它的深层次方面可以暂不细究。但是要对AudioToolbox.framework的基本api和使用流程要清楚,重点要看的是AudioFile.h、AudioQueue.h 头文件 (#import <AudioToolbox/AudioFile.h>、#import <AudioToolbox/AudioQueue.h>,以下对 AudioFile.h、AudioQueue.h 讲解的文章要仔细看:

AudioToolbox之AudioFile.h(一)

AudioToolbox之AudioFile.h(二)

AudioToolbox之AudioFile.h(三)open and close audio files

AudioToolbox之AudioFile.h(四)Getting and Setting Audio File Properties

AudioToolbox之AudioQueue.h(一)Controlling Audio Queues

AudioToolbox之AudioQueue.h(二)Creating and Disposing of Audio Queues

AudioToolbox之AudioQueue.h(三)Handing Audio Queue Buffers(未完)

AudioToolbox之AudioQueue.h(四)Manipulating Audio Queue Properties

使用AudioQueue来实现音频播放功能时最主要的步骤,可以简练的归纳如下。

1. 打开播放音频文件
2. 取得播放音频文件的数据格式
3. 准备播放用的队列
4. 将缓冲中的数据移动到队列中
5. 开始播放
6. 在回调函数中进行队列处理

  看了以上文章对AudioToolbox.framework的使用有了直观的认识,对于一个工程的具体需求该如何使用它达到目的呢?这两篇博客写的不错 iphone利用AudioQueue播放音频文件(mp3,aac,caf,wav等) 、 iphone利用AudioQueue播放wav(PCM码) ,需要仔细看。理论加实践,搞定AudioToolbox.framework。

笔谈AudioToolbox(一)的更多相关文章

  1. 实战AudioToolbox--在iOS平台上播放音频

    上午看了关于AudioToolbox.framework相关的资料,结合网上的资料对AudioToolbox的基本使用有了整体上的认识,上一篇文章 笔谈AudioToolbox(一) 中提到使用Aud ...

  2. NoSQL数据库笔谈(转)

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  3. IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE

    本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...

  4. NoSQL数据库笔谈

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  5. 【转】: 《江湖X》开发笔谈 - 热更新框架

    前言 大家好,我们这期继续借着我们工作室正在运营的在线游戏<江湖X>来谈一下热更新机制以及我们的理解和解决方案.这里先简单的介绍一下热更新的概念,熟悉这部分的朋友可以跳过,直接看我们的方案 ...

  6. 笔谈kxmovie开源播放器库的使用

    开源播放器项目 kxmovie(https://github.com/kolyvan/kxmovie),现在仍然是很多刚开始接触播放器开发的程序员的参照范本.以下是我操作kxmovie项目的过程: ( ...

  7. AudioToolbox--AudioQueue实现流播放接口

    AudioMedia_ios.h // //  AudioMedia_ios.h //  mmsplayer // //  Created by Weiny on 12-4-4. //  Copyri ...

  8. AudioToolbox--利用AudioQueue音频队列,通过缓存对声音进行采集与播放

    都说iOS最恶心的部分是流媒体,其中恶心的恶心之处更在即时语音. 所以我们先不谈即时语音,研究一下,iOS中声音采集与播放的实现. 要在iOS设备上实现录音和播放功能,苹果提供了简单的做法,那就是利用 ...

  9. 笔谈 cocoapods的安装与使用

    因为要重构播放器库,所以就需要参考网上的开源项目,在播放器开源项目这块,kxmovie开源项目是值得参考的一个项目.在github下载下来后,运行该工程,发现其用到了cocoapods来管理第三方库, ...

随机推荐

  1. 【PHP】 PHP中插件机制的一种实现方案

    插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它:且无 论是激活还是禁用都不影响系统核心模块的运行,也就是说插 ...

  2. simplexml_load_string 转换xml为数组

    php simplexml_load_string 函数可以很简单转换 xml 字符串为 SimpleXMLElement 对象 但是,对象的值不好取,例如: result => SimpleX ...

  3. Django Model 模型

    参考: https://www.runoob.com/django/django-model.html https://www.cnblogs.com/taosiyu/p/11260000.html ...

  4. 使用BaGet 搭建私有nuget 服务器

    使用BaGet 搭建私有nuget 服务器 netNugetBaGet 引言 为了增强代码的安全性和企业团队开发的高效性,搭建私有的package 包管理服务器是很有必要的,搭建私有的类库管理服务有以 ...

  5. axios get,post请求时带headers

    axios post请求时带headers: axios.post("http://xxx.com/xxx/xxx/xxx?", { 'queslistid': this.kemu ...

  6. 【Linux基础】vim如何显示文件名称

    前言 使用vim的时候有时候需要查看文件路径或者名称,本文对此进行记录. 操作过程 一般模式下 method1: :f method2: 快捷键CTRL+g/G(大小写均可); method3: 查看 ...

  7. SQL Server PARTITION FUNCTION(分区)

    分区并不影响Linq,sql查询 在MSSQL中,选中目标表,右键-存储-创建分区 根据提示完成分区,存储成sql 这里展示如何根据Id的数据范围分区 在执行前,可能需要设置日志文件大小为" ...

  8. haproxy转发真实IP给web

    1.在haproxy.cfg中加入下面参数. option forwardfor               #如果后端服务器需要获得客户端真实ip需要配置的参数,必须要放在listen模块下 2.如 ...

  9. 【Docker学习之二】Docker部署安装

    环境 docker-ce-19.03.1-3.el7.x86_64 一.Docker的部署安装 Docker采用Linux(内核)技术,所以只能运行在Linux上,官方说Linux kernel至少3 ...

  10. java-完全解耦-例子

    class filter{ public String name(){ return getClass().getSimpleName(); } public String process(Strin ...