首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput) iOS:使用蓝牙音频输出AudioSession

(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput) iOS:使用蓝牙音频输出AudioSession
EN

Stack Overflow用户
提问于 2013-01-30 10:17:42
回答 2查看 11.2K关注 0票数 6

我对CoreAudio AudioSession框架有几个与蓝牙任务相关的问题,我希望有人能帮助我解决这些问题,或者至少能够证实我的最新发现。usecase是一个导航应用程序,它想连接一个支持HFP和A2DP的蓝牙收音机。我已经阅读了整个AudioSession编程指南,但我仍然有一些悬而未决的问题,特别是通过蓝牙使用音频输出。

  1. 蓝牙HFP音频输出(kAudioSessionOutputRoute_BluetoothHFP)只有在设置了AudioSession kAudioSessionCategory_PlayAndRecord并且正在覆盖以下属性时才是可能的:这是真的吗?如果不是,我如何使用MediaPlayback会话路由到kAudioSessionOutputRoute_BluetoothHFP路由作为示例。
  2. 类别kAudioSessionCategory_PlayAndRecord无法在后台模式下输出音频。因此,我不能通过蓝牙HFP路径播放声音,如果我是背景。这是真的吗?如果app在后台,如何通过蓝牙HFP协议发送音频?
  3. 如果有一个启用A2DP的设备可用,我的音频路由将始终自动切换到kAudioSessionOutputRoute_BluetoothA2DP路由。我怎样才能阻止这条路线的改变?此外,我如何指定我现在想要的输出路径。使用iOS5,可以通过kAudioSessionProperty_AudioRouteDescription标志查询所有这些路由目的地,但我不知道如何设置它,因为我想要它。是否有可能做到这一点?

我希望你们中的一些人能帮我解决这些问题。这将真正帮助我全面理解CoreAudio,特别是AudioSession框架。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-30 21:41:52

AudioSession是一项棘手的业务。

1.蓝牙HFP音频输出(kAudioSessionOutputRoute_BluetoothHFP)只有在设置了AudioSession kAudioSessionCategory_PlayAndRecord并且正在覆盖以下属性时才是可能的:这是真的吗?如果不是,我如何使用MediaPlayback会话路由到kAudioSessionOutputRoute_BluetoothHFP路由作为示例。

如果你有蓝牙耳机连接,那么这是真的。您将需要kAudioSessionCategory_PlayAndRecord音频会话集和kAudioSessionCategory_PlayAndRecord设置,才能从蓝牙耳机中播放音频。EnableBluetoothInput根据this影响输入和输出。还请记住,由于蓝牙输入设备的限制,音频将以8000赫兹的频率播放。对于连接到支持A2DP的设备,您可以将其保留在音频会话kAudioSessionCategoryMediaPlayback中,并且它将以44100 Hz采样率播放。

2.在kAudioSessionCategory_PlayAndRecord类别下,不可能在后台模式下输出音频。因此,我不能通过蓝牙HFP路径播放声音,如果我是背景。这是真的吗?如果app在后台,如何通过蓝牙HFP协议发送音频?

通过蓝牙HFP播放音频在背景中是可能的,只要你在应用程序列表中设置了背景音频模式键。请参阅更多here

3.如果有一个启用A2DP的设备可用,我的音频路由将始终自动切换到kAudioSessionOutputRoute_BluetoothA2DP路由。我怎样才能阻止这条路线的改变?此外,我如何指定我现在想要的输出路径。使用iOS5,可以通过kAudioSessionProperty_AudioRouteDescription标志查询所有这些路由目的地,但我不知道如何设置它,因为我想要它。是否有可能做到这一点?

你想把音频放到哪里去?您可以尝试将音频会话设置为PlayAndRecord,以防止其进入A2DP。这可能是您无法控制的,音频会话将使用它认为是直观的用户。如果他们只是连接一个A2DP设备,而您只是输出音频,A2DP设备将被使用。

票数 11
EN

Stack Overflow用户

发布于 2013-02-13 07:14:33

他们已经提到,它将只为USB配件。

http://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14601517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档