当前位置:  开发笔记 > 前端 > 正文

如何在iPhone上录制音频

如何解决《如何在iPhone上录制音频》经验,为你挑选了1个好方法。

我想用iphone录制音频(<2分钟)并将其保存到文件中.我看着SpeakHere,但它让我很困惑.我使用哪些课程?我创建了哪些委托方法?

谢谢!



1> Sam..:

我同意,SpeakHere不是一个学习iPhone音频的好起点.

iPhone音频使用两个概念.AudioQueues和AudioSessions.如果要录制到文件,则需要创建一个AudioSession,激活会话,并创建AudioInputQueue和AudioOutputQueue.

AudioQueues的参考(到目前为止你将讨论最多的部分)是:

http://developer.apple.com/iphone/library/documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/Introduction/Introduction.html

至于AudioSessions:

http://developer.apple.com/iphone/library/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html

虽然你可以忽略大部分AudioSession的东西,因为你不会做那么复杂的事情.所以基本上,这里是步骤:

    使用AudioInterrupt回调初始化音频会话.此回调处理来电的情况,中断您的程序.

    设置传入音频和文件绑定音频的数据格式.它存储在名为AudioStreamBasicDescripion的结构中.

    创建一个AudioQueue对象并使用AudioQueueNewInput对其进行初始化.您必须指定一个回调来处理传入的音频.这将是您可以指定将音频保存到文件的位置,但要注意,这是一个实时线程,您必须尽可能地尝试阻止它太长时间.

    定义录制系统将具有多少AudioQueueBuffers.这些缓冲区根据您在步骤2中指定的采样率进行填充.您必须调整这些缓冲区,以便在下一个缓冲区到达之前有足够的时间进行处理.

    AudioSessionSetActive(YES);

    AudioQueue上的AudioQueueStart.

我没有在这里包含所有参数,但这就是API的用途.

希望有所帮助.

[编辑]

对不起,忘了包含输出内容,虽然它们非常简单.创建另一个AudioQueue,使用AudioQueueNewOutput进行初始化,API应该能够引导您完成剩下的工作.

干杯.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有