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

在音频输出、耳机、iPhone耳机和扬声器之间切换音频输出

杨甫
2023-03-14

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

谢谢你的帮助。

共有1个答案

向泽语
2023-03-14

我认为您可以将overrideOutputAudioPort设置为以下之一。

/* output port types */
AVF_EXPORT NSString *const AVAudioSessionPortLineOut          NS_AVAILABLE_IOS(6_0); /* Line level output on a dock connector */
AVF_EXPORT NSString *const AVAudioSessionPortHeadphones       NS_AVAILABLE_IOS(6_0); /* Headphone or headset output */
AVF_EXPORT NSString *const AVAudioSessionPortBluetoothA2DP    NS_AVAILABLE_IOS(6_0); /* Output on a Bluetooth A2DP device */
AVF_EXPORT NSString *const AVAudioSessionPortBuiltInReceiver  NS_AVAILABLE_IOS(6_0); /* The speaker you hold to your ear when on a phone call */
AVF_EXPORT NSString *const AVAudioSessionPortBuiltInSpeaker   NS_AVAILABLE_IOS(6_0); /* Built-in speaker on an iOS device */
AVF_EXPORT NSString *const AVAudioSessionPortHDMI             NS_AVAILABLE_IOS(6_0); /* Output via High-Definition Multimedia Interface */
AVF_EXPORT NSString *const AVAudioSessionPortAirPlay          NS_AVAILABLE_IOS(6_0); /* Output on a remote Air Play device */
AVF_EXPORT NSString *const AVAudioSessionPortBluetoothLE      NS_AVAILABLE_IOS(7_0); /* Output on a Bluetooth Low Energy device */
 类似资料:
  • 有没有办法通过耳机传送麦克风输入,同时通过智能手机扬声器使用音频输出? 我已经看了几个小时了,我看到这在iOS上显然是不可能的,但是Android呢... 我用的是三星Galaxy S4。 这是我的代码的一部分,即使耳机已插入,也可以通过扬声器路由音频输出: 但当我试图通过耳机的麦克风控制我的应用程序时,什么都没有。所以我试着用智能手机的那一个,它显然起作用了。 它看起来不像其他AudioMana

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

  • 在我的应用程序中,有一个使用设备音频插孔的读卡器。现在,我的问题是,当读卡器在设备的耳机插孔中完好无损时,我想从内置扬声器中发出声音。 以下是我尝试过的代码: 1) 使用反射方法 2)使用setMode方法 但这两种代码仅在具有默认FM应用程序的设备中运行。但我想在所有设备中都具有此功能。 请分享你的经验!!

  • 问题的标题可能看起来重复,但我的问题有时是一个问题,会导致故障。当插入耳机时,我使用以下代码通过扬声器播放。 上面的代码以以下方式播放音频:1.很少时候,它可以完美播放。2.大多数时候,它在背景中播放循环声音。3.很少时候,它什么都不播放。 插入耳机时,系统声音播放似乎没有错误。例如-设置铃声正确播放相应的铃声,没有任何故障。请帮助我了解如何在插入耳机的情况下通过扬声器正确播放声音。

  • 我正在寻找一种方法来播放Android设备扬声器中的音频,即使是在插入耳机的情况下。 事实上,典型的行为是,当插入耳机时,扬声器不会输出任何音频。然而,一些应用程序,例如默认的时钟应用程序(com.google.android.deskclock),即使插入耳机,也能够将音频路由到扬声器。 如何以编程方式获得此行为? 我正在寻找(至少)在Nexus 5设备上运行KitKat(Android 4.4

  • 我正在使用语音识别应用程序。蓝牙耳机成功连接到我的android设备后,我想在内置麦克风和耳机麦克风之间自由切换音频输入,如何做到?