首页 > 解决方案 > 禁用内部和外部扬声器,只允许耳机观看视频或收听音频

问题描述

我有一些视频,其中的音频只能通过耳机获得,而不是来自内置扬声器或外部扬声器。注意:它不应该允许带有 3.5 毫米插孔的外部扬声器。有什么可能解决它?如果有人帮我解决这个问题,那就太好了。

标签: javaandroidandroid-audiomanagerandroid-video-player

解决方案


检查耳机是否插入:

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 并应用您的逻辑)!

参考


推荐阅读