笔谈AudioToolbox(一)
“五一”长假过的真快,三天就这么过去了。新的一周开始了,这周搞搞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(三)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(一)的更多相关文章
- 实战AudioToolbox--在iOS平台上播放音频
上午看了关于AudioToolbox.framework相关的资料,结合网上的资料对AudioToolbox的基本使用有了整体上的认识,上一篇文章 笔谈AudioToolbox(一) 中提到使用Aud ...
- NoSQL数据库笔谈(转)
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...
- NoSQL数据库笔谈
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...
- 【转】: 《江湖X》开发笔谈 - 热更新框架
前言 大家好,我们这期继续借着我们工作室正在运营的在线游戏<江湖X>来谈一下热更新机制以及我们的理解和解决方案.这里先简单的介绍一下热更新的概念,熟悉这部分的朋友可以跳过,直接看我们的方案 ...
- 笔谈kxmovie开源播放器库的使用
开源播放器项目 kxmovie(https://github.com/kolyvan/kxmovie),现在仍然是很多刚开始接触播放器开发的程序员的参照范本.以下是我操作kxmovie项目的过程: ( ...
- AudioToolbox--AudioQueue实现流播放接口
AudioMedia_ios.h // // AudioMedia_ios.h // mmsplayer // // Created by Weiny on 12-4-4. // Copyri ...
- AudioToolbox--利用AudioQueue音频队列,通过缓存对声音进行采集与播放
都说iOS最恶心的部分是流媒体,其中恶心的恶心之处更在即时语音. 所以我们先不谈即时语音,研究一下,iOS中声音采集与播放的实现. 要在iOS设备上实现录音和播放功能,苹果提供了简单的做法,那就是利用 ...
- 笔谈 cocoapods的安装与使用
因为要重构播放器库,所以就需要参考网上的开源项目,在播放器开源项目这块,kxmovie开源项目是值得参考的一个项目.在github下载下来后,运行该工程,发现其用到了cocoapods来管理第三方库, ...
随机推荐
- essay sundry
感觉很多单词, 即使是所谓的抽象名词都有复数形式,是习惯用法,比如, details, comments, ads等 ad: 广告, advertise的缩写? advertise. advertis ...
- 006-tomcat 多实例安装、appBase和docBase、Context说明
一.多实例部署 主要是为了充分利用服务器资源,并且可以交叉部署应用.主要做法可以有使用docker部署,多实例部署. 多实例多应用:多个 Tomcat 部署多个不同的项目.这种模式在服务器资源有限,或 ...
- 查看当前页面的jsp文件【我】
方法一:可以通过看html类型的请求 方法二:对于有些嵌入的子页面,也可以通过,鼠标右键——此框架——查看框架源代码的方式,直接找到对应的jsp 直接就可以看到对应的jsp:
- 禁用 Ubuntu 18.04 Files 的 Type Ahead search 功能
. . . . . Ubuntu 的文件浏览器(Files)提供了一个搜索的功能,叫做“Type Ahead search”.即我们在文件浏览器中输入某个文件的名字时,Files 并不是将焦点定位在某 ...
- 解决 android push framework.jar 不生效的问题
. . . . . 在 Android 采用 ART 虚拟机后,为了提高运行时效率,在编译期间会将 jar 包中的 dex 文件编译为 odex.vdex 等文件.而这些文件并不存放在 framewo ...
- Flask 学习(三)路由介绍
Flask路由规则都是基于Werkzeug的路由模块的,它还提供了很多强大的功能. 两种添加路由的方式 方式一: @app.route('/xxxx') # @decorator def index( ...
- php 回调函数结合闭包(匿名函数)的使用示例
<?php /** * php 回调函数结合闭包(匿名函数)的使用 */ function callback( $callback ){ $variable = 'program'; $ret1 ...
- 解决VM Workstation安装VMware Tools显示灰色的办法
其实虚拟机用了好多次了,但是每次使用配置时还是忘这忘那的,这里就简单地再啰嗦下了. 解决办法如下: 1.关闭虚拟机: 2.在虚拟机设置分别设置CD/DVD.CD/DVD2和软盘为自动检测三个步骤: 3 ...
- 解决在MAC上输入法切换慢的问题
Mac Book Pro升级到Catalina 10.15.1 之后,不论是系统自带的中文输入法,还是安转的第三方中文输入法,当使用快捷键"Ctrl + Space"进行中英文输入 ...
- [Docker] 六步运行一个 sentry 实例
# 6步, https://hub.docker.com/_/sentry/ # 依赖Redisdocker run -d --name sentry-redis redis:3.2.12 # 依赖p ...