当前位置: 首页 > 知识库问答 >
问题:

iOS 7提供所有可用的音频设备(蓝牙、耳机、扬声器、手机)

松波
2023-03-14

所需功能:

它有点像iPhone本机手机应用程序。当有蓝牙/耳机连接到iPhone时,扬声器按钮(通常只有扬声器/手机切换)将显示所有可用的音频输出设备。默认使用蓝牙。用户可以选择其他设备播放声音。

问题:

>

如何更新路由并将音频输出设置为所选设备?

请注意,AudioSessionGetProperty AND AudioSessionSetProperty的现有解决方案可能并不理想,因为iOS7已弃用这两种方法。

共有1个答案

能钟展
2023-03-14

因为没有回应。我开始基于Jawbone的AudioSessionManager编写自己的库。

关于这两个问题

>

AVAudioSession具有routeChange通知。您可以捕捉不同的路线更改原因并妥善处理。

[[NSNotificationCenter defaultCenter]add观察者:自选择器:@selector(电流路由变更:)名称:AVAudioSessionRouteChangeNotify对象:nil];

完整的实现在我的github repo中。欢迎反馈。

 类似资料:
  • 是否可以通过Android设备的手机扬声器播放音频?手机内部较小的扬声器,可产生低音量声音,只有在将耳朵贴在电话上时才能听到。 希望我的描述足够清楚,可以理解我的问题。 如果可能的话,一个如何实现这一点的例子将非常有帮助。 目前我正在使用下面的代码初始化我的MediaPlayer。

  • 我正在尝试从与Android设备配对的蓝牙耳机中捕获音频。 以下是相关代码: 清单要求权限: WRITE_EXTERNAL_STORAGE RECORD_AUDIO 互联网 MODIFY_AUDIO_SETTINGS BROADCAST_STICKY 蓝牙 BLUETOOTH_ADMIN 每个应用程序的典型过滤LogCat输出是: 初始化BT 启动蓝牙 BT可以从麦克风录音吗?true 一切初始化

  • 播放音频文件时,我将声音从外部扬声器切换到内部扬声器(耳朵扬声器)。音频通过SimpleExoPlayer播放。切换由USAGE_VOICE_COMMUNICATION属性发生。声音通过听筒开始播放,但该声音的音量不受系统音量按钮控制,系统中媒体的音量会发生变化。 我尝试将setContentType设置为CONTENT_TYPE_SPEECH,问题仍然存在。 问题在谷歌Pixel XL(Andr

  • 我想用插入式耳机通过扬声器播放音频文件。 但我得到了 IllegalStateException 有什么想法可以解决这个问题吗?

  • 我试图让用户能够在我的应用程序中切换音频输出,我可以使用AVAudioSession在扬声器和背部之间切换,但我找不到在连接的蓝牙设备和耳机之间切换的方法,以任何顺序。 谢谢你的帮助。

  • 我用Cordova(7.1.0)构建了一个音乐web应用程序,我使用web音频API来管理声音。我的问题是: 如何检查播放机选择的音频源?内置音频与蓝牙音频。 例如,在iPhone上,在玩游戏时,我可以选择通过设备扬声器(内置扬声器)直接播放声音,也可以切换到蓝牙扬声器。当用户从一种模式切换到另一种模式时,如何通过JavaScript进行检查? 我发现了一个关于监听耳机状态(插入或未插入)的Cor