【问题标题】:Detect Mute|UnMute on Android TV检测静音|在 Android TV 上取消静音
【发布时间】:2019-07-19 17:17:26
【问题描述】:

我使用SimpleExoPlayer制作了Media Android TV应用程序,

它可以播放一些音乐,一些视频,

我想在静音|取消静音时通过远程触发来跟踪用户。

因此,我想检测当前电视设备上的静音|取消静音模式。

我研究了很多pages,仍然没有发现,

希望有人能帮帮我,

谢谢,

p/s:Android TV 检测不到这些代码

You can use AudioManager to check volume is mute or not mute.

AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
switch( audio.getRingerMode() ){
case AudioManager.RINGER_MODE_NORMAL:
break;
case AudioManager.RINGER_MODE_SILENT:
break;
case AudioManager.RINGER_MODE_VIBRATE:
break;
}

【问题讨论】:

标签: android audio exoplayer android-tv


【解决方案1】:

目前我只能通过这种方式来检测Android系统的静音|取消静音。

public static boolean isSoundOn(Context context) {
    AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

    /*
     * It can detect
     *   - from Android 6.0 : Check Stream Music
     * */
    boolean isSoundOn = false;
    if (NlbUtil.isAndroidMarshmallow()) {
        // from Android 6.0 : Stream Music
        isSoundOn = am.getStreamVolume(AudioManager.STREAM_MUSIC) != 0;   // If no sound system, return true
        // isSoundOn = !am.isStreamMute(AudioManager.STREAM_MUSIC);
    }

    return isSoundOn;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多