2011-05-31 49 views

回答

1

音频播放的路由取决于你如何设置您的音频会话:

UInt32 category = kAudioSessionCategory_PlayAndRecord; 
    error = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(category), &category); 

你有五个类别可供选择。一旦你选择了一个类别,那么iOS会根据硬件自动路由音频信号。例如,您可能会插入耳机,它会停止扬声器播放,而不是将信号路由到耳机输出。

要选择最佳类别,请看:Audio Session Programming Guide - Choosing the Best Category

关于AudioQueue,是的,它会以字节格式播放原始音频数据。你开始排队,它会周期性地请求更多的数据。看看SpeakHere示例项目。具体来说,请看AQPlayer.mm中的AQBufferCallback

要采购从缓冲区而文件中的音频数据 - 这是我想你的意思 - 看看我的答案,关于SpeakHere样本项目的其他问题:

Realtime AudioQueue Record-Playback

How to provide audio buffer to AudioQueue to play audio?