Найти, если MUSIC_STREAM активен - PullRequest
0 голосов
/ 28 января 2020

Я хотел бы получить обратный вызов, когда поток musi c станет активным. Скажем, я запускаю веб-просмотр с видео на YouTube или запускаю musi c на spotify, используя их API. В конце концов, поток musi c запустится. Может быть, не сразу, но я хотел бы получить обратный звонок, как только это произойдет. Поскольку мне, возможно, придется иметь дело с несколькими внешними аудиопроигрывателями, я хотел бы что-то общее, а не спецификацию проигрывателя c.

Могу ли я что-то наблюдать или получать намерение, как только MUSIC_STREAM начинает играть?

Я хотел бы иметь что-то вроде:

musicActiveReceiver.setListener(Callback {warningTextView.text = "Music stream is on."})

Это почти замечательно:

private class BecomingNoisyReceiver : BroadcastReceiver() {

    override fun onReceive(context: Context, intent: Intent) {
        if (intent.action == AudioManager.ACTION_AUDIO_BECOMING_NOISY) {
            // Pause the playback
        }
    }
}

, но я не хочу использовать AudioManager.ACTION_AUDIO_BECOMING_NOISY, поскольку предполагается, что проблема связана с оратор. В моем случае я также хочу уловить случай, когда используется гарнитура.

Можно было бы регулярно проверять AudioManager.isMusicActive(), но я бы предпочел этого избежать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...