java - 选择音量 channel 以在按下音量键时更改

标签 java android

在 Android 中,通常有 3 个用户感兴趣的音量 channel :音乐/媒体、铃声和闹钟。通常,当按下硬件音量按钮时,铃声音量会得到设置,并相应地显示带有搜索栏的对话框。

但是如果我打开了音乐应用程序并按下了音量按钮,媒体音量 channel 就会被设置(并且扬声器图标会显示在搜索栏对话框上而不是电话上)。我现在的问题是,如何为使用媒体 channel 音量控制而不是铃声 channel 的应用程序设置?是否有一个开关或我必须手动执行此操作(捕捉音量按钮笔画)?

最佳答案

经过一些谷歌搜索,我自己找到了它。

您可以调用setVolumeControlStream在您的 Activity 的 onCreate 方法中。示例如下。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ...

    // change the music vol instead of ringtone vol
    // when hardware volume buttons are pressed
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
}

关于java - 选择音量 channel 以在按下音量键时更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304640/

相关文章:

java - AsyncTask onPostExecute 未从 doInBackground 返回结果

java - com.sun.faces.renderkit.html_basic.TextRenderer 存在哪些 Java API 替换(如果有)

java - 重新打印一个字符串数组Java

java - 安卓数据绑定(bind)。如何为生成的 *Binding 类设置布局 xml 文件

java - 带有 Dagger 和 AndroidInjectors 的子模块

android - TabBar 使用自定义 EditText 与软键盘一起向上移动

java - Jersey (jsr 311)和自定义 ViewProcessor

java - 在 Weblogic 服务器上使用 Spring Boot REST 返回数组或列表时出现内部服务器错误

Android NDK 将参数传递给本地方法

android - 是否可以获取已安装应用程序的用户名和密码?