前段时间遇到安卓Tv上一个声音通道的问题
在安卓TV上切进HDMI通道后,如果原本的安卓后台有音乐播放(比如酷狗,有些TV禁用后台播放,我这个没有禁用)依然存在
如果存在此问题,说明InputSource的player没有做声音通道切换,可以用AudioManager的焦点机制来解决
在进HDMI的地方(自行Log跟踪)调用下面的方法:
import android.media.AudioManager;
private void getAudioFocus(){
AudioManager am = (AudioManager) MainActivity.this.getSystemService(Context.AUDIO_SERVICE);
am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
}
此方法根据参数不同,效果也不同:
此处是AudioManager.AUDIOFOCUS_GAIN_TRANSIENT临时暂停其他声音,在退出HDMI后可自动继续播放。
AudioManager.AUDIOFOCUS_GAIN:暂停,不自动继续播放
AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:不暂停,声音共存,只是减弱失去焦点的声音
AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE:不暂停,但是失去焦点者音量为0,后台还会继续播放