【问题标题】:How to mute audio in headset but let it play on speaker programmatically?如何使耳机中的音频静音但让它以编程方式在扬声器上播放?
【发布时间】:2014-01-07 06:45:28
【问题描述】:

我正在为此问题中指定的问题寻找解决方法:

How to disable the wired headset programmatically in Java

如前所述,我的扬声器和耳机都能听到音频。

谁能告诉我如何静音耳机中的音频以编程方式,同时让它在扬声器上播放不衰减

【问题讨论】:

    标签: android soundpool android-audiomanager headset speakerphone


    【解决方案1】:
    AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
    am.setMode(AudioManager.MODE_IN_CALL);
    am.setSpeakerphoneOn(true);
    

    然后通过AudioManager.STREAM_SYSTEM流播放声音。

    当声音播放完毕后,请务必将音频管理器返回到之前的状态,否则它会留在扬声器上!!

    【讨论】:

    • 非常感谢您的回复。不过有几个问题。你是怎么恢复正常的? 然后通过 AudioManager.STREAM_SYSTEM 流播放声音。- 你为此使用了什么具体命令?
    • 我想通了。非常感谢您的回答 :) 如果对这篇文章有任何进一步的疑问,我们会与您联系。再次感谢:)
    【解决方案2】:

    AudioManager mAAudioMgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mAudioMgr.setSpeakerphoneOn(true); mAudioMgr.setMode(AudioManager.MODE_IN_COMMUNICATION);

    【讨论】:

    • 对我来说,这确实有效。我还必须在清单中添加权限。 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    猜你喜欢
    • 2014-04-06
    • 1970-01-01
    • 2015-10-02
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多