我正在开发一个应用程序,我想在其中将原始数据(文本数据)发送到耳机插孔而不是音频文件。我假设我可以通过使用AudioQueue
框架来做到这一点。但是我不知道该怎么做。我的应用程序的功能应该与 squareup.com 应用程序相同。
问问题
623 次
1 回答
1
音频播放的路由取决于您设置音频会话的方式:
UInt32 category = kAudioSessionCategory_PlayAndRecord;
error = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category);
您有五个类别可供选择。一旦您选择了一个类别,iOS 将根据硬件自动路由音频信号。例如,您可能插入耳机,它会停止扬声器播放,而是将信号路由到耳机输出。
要选择最佳类别,请查看:音频会话编程指南 - 选择最佳类别。
关于AudioQueue
,是的,它将以字节格式播放原始音频数据。您启动队列,它将定期请求更多数据。查看SpeakHere示例项目。具体来说,看看AQBufferCallback
in AQPlayer.mm
。
要从缓冲区而不是文件中获取音频数据(我认为您的意思是),请查看我对有关 SpeakHere 示例项目的其他问题的回答:
于 2012-01-18T14:28:15.153 回答