我正在使用 android AudioManager 来静音和取消静音流,例如 STREAM_SYSTEM 和 STREAM_NOTIFICATION,静音直接调用 setStreamMute但我找不到 isStreamMuted 方法。
查看源代码我可以看到 it exists所以问题是“如何检查流是否静音?”
我正在使用 Android 4.0.4
最佳答案
反射(reflection)是你的 friend 。这对我有用。
try {
Method m = AudioManager.class.getMethod("isStreamMute", int.class);
isMuted = (Boolean) m.invoke(am, AudioManager.STREAM_MUSIC);
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
System.out.println(e);
}
更新:方法 public boolean isStreamMute (int streamType)
现在可以在 API 23 中访问,无需使用反射。
关于android - 为什么 AudioManager.isStreamMuted 不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13789321/