检测静音|在 Android TV 上取消静音
Posted
技术标签:
【中文标题】检测静音|在 Android TV 上取消静音【英文标题】:Detect Mute|UnMute on 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;
【问题讨论】:
你检查this SO post (Android: How to get app to remember if mute button has been pressed or not)了吗? 我只是在答案中找到了方法。 【参考方案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;
【讨论】:
以上是关于检测静音|在 Android TV 上取消静音的主要内容,如果未能解决你的问题,请参考以下文章
Android - 在按钮单击时取消静音 VideoView
Objective-C:在 iOS 上使用 AVFoundation 录制视频时静音/取消静音