- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个应用程序,我想在其中将原始数据(文本数据)发送到耳机插孔而不是音频文件。我假设我可以通过使用 AudioQueue
框架来做到这一点。但是我不知道该怎么做。我的应用程序应该以与 squareup.com 应用程序相同的方式运行。
最佳答案
音频播放的路由取决于您设置 Audio Session 的方式:
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 示例项目的其他问题的回答:
关于iphone - 如何从缓冲区而不是音频文件中获取耳机插孔音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183768/
我想将 iOS VoiceOver 声音定向到耳机,即使它没有插入。 换句话说,当我的应用程序打开时,VoiceOver 声音(以及我在应用程序中使用 AVSpeechUtterance 等播放的其他
我是一名优秀的程序员,十分优秀!