我正在处理一个应用程序,我想将原始数据(文本数据)发送到耳机插孔而不是音频文件。我假设我可以通过使用AudioQueue
框架来实现。但我不知道该怎么做。我的应用程序应该与squareup.com应用程序的功能相同。如何从缓冲区而不是音频文件获取耳机插孔音频?
1
A
回答
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样本项目的其他问题:
相关问题
- 1. 音频插孔服务器:无法获得缓冲区
- 2. 获取音频缓冲区数据
- 3. 本机缓冲音频
- 4. 如何向AudioQueue提供音频缓冲区来播放音频?
- 5. HTML5音频/视频停止缓冲区
- 6. 在Cocoa中捕获音频缓冲区
- 7. 可以通过耳机插孔使用音频吗?
- 8. 从音频缓冲区制作VU表
- 9. 从缓冲区播放音频
- 10. 如何检查音频是否缓冲?
- 11. 网络音频API - 克隆音频缓冲区
- 12. Web音频API - 合并两个音频缓冲区
- 13. 将音频直接复制到iPhone上的音频缓冲区
- 14. 加载音频缓冲区并使用音频标签播放
- 15. 发布音频缓冲区Web音频API
- 16. Objective-c从蓝牙HFP重新路由音频输入以混合音频输出耳机插孔
- 17. 如何检测WMA流缓冲区中的音频静音?
- 18. 如何控制(音频缓冲区)AudioContext()的音量?
- 19. 音频队列缓冲区空错误
- 20. 缓冲区和Web音频API
- 21. 带有librosa的音频缓冲区
- 22. 音频缓冲区上的java.lang.OutOfMemoryError
- 23. 播放没有缓冲区的音频
- 24. HTML5音频缓冲区陷入
- 25. 发布WEB音频缓冲区循环
- 26. 扬声器的声音,而音频插孔在
- 27. 插孔音频和多个音频设备与alsa_out
- 28. 如何获得3sn音频缓冲区ios
- 29. 如何从AVCaptureAudioDataOutput播放音频采样缓冲区
- 30. 将音频数据从ALSA缓冲区读取到numpy阵列