java - 如何获取Android设备当前的媒体类型?

标签 java android android-audiomanager

我在我的服务中使用 AudioManager 来控制媒体音量,但我只能控制我在 setStreamVolume() 中编写的媒体类型。我尝试使用 getRingerMode() 获取媒体类型,但内容是我的服务。

int currentType = audioManager.getRingerMode();
int currentVoice = audioManager.getStreamVolume(currentType);

audioManager.setStreamVolume(currentType, currentVoice, AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);

如何控制其他应用的音量?

最佳答案

引用:how to increase and decrease the volume programmatically in android

AudioManager audioManager = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);


Button upButton = (Button) findViewById(R.id.upButton);
        upButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

//To increase media player volume               
                audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND);
            }
        });

        Button downButton = (Button) findViewById(R.id.downButton);
        downButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

//To decrease media player volume
                audioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_PLAY_SOUND);             
            }
        });

关于java - 如何获取Android设备当前的媒体类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52377499/

相关文章:

android - 为什么 AudioManager 适用于手机,但不适用于 Android TV 模拟器?

java - Android:通过 sslsocket 连接发送多条消息

java - java Jung Graph包中的二叉树

java - 使用 SSL 时 Netty ChannelHandler 关闭

android - MediaRecorder 捕获的音频文件在发送到服务器后损坏

android - 将数组中的 Json 对象发送到服务器

java - 检测音乐播放完毕

android-audiomanager - Android-dev AudioRecord 无阻塞或线程

java - 在单独的 JVM 上执行新的 JavaFX 应用程序

java - 图标和 NavigationView 之间的左边距