禁用内部和外部扬声器,只允许耳机观看视频或收听音频

Disable internal and external speakers and allow only earphones to watch video or listen Audio

我有一些视频的音频只能通过耳机播放,不能通过内置扬声器或外部扬声器播放。 注意:它不应允许带有 3.5 毫米插孔的外部扬声器。 解决的可能性有多大? 如果有人能帮我解决这个问题就太好了。

检查耳机是否插入:

private boolean isHeadphonesPlugged(){
        AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        AudioDeviceInfo[] audioDevices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
        for(AudioDeviceInfo deviceInfo : audioDevices){
            if(deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADPHONES
                    || deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADSET){
                return true;
            }
        }
        return false;
    }

在单独的线程中检查耳机是否将使用上述方法插入(在这种情况下,您必须停止 mediaPlayer 并应用您的逻辑)!

对于reference