如何检测其他应用程序何时正在播放并停止我的媒体播放器

问题描述

我曾尝试使用 AudioManager 执行此操作,但是当我执行以下操作时,它不起作用。如果我播放媒体播放器并打开 YouTube 视频,音乐会在媒体播放器中正确停止。但是,如果现在我暂停 YouTube 视频,我重新打开媒体播放器并重新打开 YouTube 视频,再见重叠并且它不会再次检测到它已失去焦点。

Ese es el medo que he creado en mi servicio y lo llamo en el onCreate():

private fun focusCall(){

    val mOnAudioFocusChangeListener: OnAudioFocusChangeListener

    mOnAudioFocusChangeListener = OnAudioFocusChangeListener { focusChange ->

        when (focusChange) {

            AudioManager.AUDIOFOCUS_GAIN -> {
                if(isPlaying){
                    playMusic()
                }
            }

            AudioManager.AUDIOFOCUS_GAIN_TRANSIENT -> {
                if(isPlaying){
                    playMusic()
                }
            }

            AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK -> {
                if(isPlaying){
                    playMusic()
                }
            }

            AudioManager.AUDIOFOCUS_LOSS -> {
                if(isPlaying){
                    pauseMusic()
                }
            }

            AudioManager.AUDIOFOCUS_LOSS_TRANSIENT -> {
                if(isPlaying){
                    pauseMusic()
                }
            }
        }
    }

    var audioManager : AudioManager = applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager

    var result = am.requestAudioFocus(mOnAudioFocusChangeListener,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN)

}

有没有更简单的方法来执行音频焦点识别?图书馆或类似的东西?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)