我试过推荐的
setSpeakerphoneOn(true)
Run Code Online (Sandbox Code Playgroud)
而且不推荐
AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
Run Code Online (Sandbox Code Playgroud)
但都没有奏效.
我试过了
setWiredHeadsetOn(false)
Run Code Online (Sandbox Code Playgroud)
但这也不起作用,并且已被弃用.
有趣的是,
isSpeakerphoneOn()
Run Code Online (Sandbox Code Playgroud)
报告也是如此
isWiredHeadsetOn()
Run Code Online (Sandbox Code Playgroud)
此外,还设置了以下权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)
sec*_*oot 28
答案结果如下,来自Android的提示 - 通过耳机播放音频
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
Run Code Online (Sandbox Code Playgroud)
忽略setRouting,它在APK> 10中什么都不做.忽略关于setMode的评论.忽略有关setWiredHeadsetOn的注释.确保您拥有MODIFY_AUDIO权限.