代码之家  ›  专栏  ›  技术社区  ›  Seraph Gabriel

如何获得Android设备当前的媒体类型?

  •  1
  • Seraph Gabriel  · 技术社区  · 7 年前

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

    int currentType = audioManager.getRingerMode();
    int currentVoice = audioManager.getStreamVolume(currentType);
    
    audioManager.setStreamVolume(currentType, currentVoice, AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
    

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

    2 回复  |  直到 7 年前
        1
  •  2
  •   Ashvin solanki    7 年前

    裁判: 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);             
                }
            });
    
        2
  •  1
  •   Seraph Gabriel    7 年前

    我从阿什文·索兰基那里得到灵感,杜威·里德帮助我阅读Android源代码。 要获取当前媒体类型,可以使用 adjustVolume() direction 值为 AudioManager.ADJUST_SAME 例如: audioManager.adjustVolume(AudioManager.ADJUST_SAME, AudioManager.FLAG_PLAY_SOUND| AudioManager.FLAG_SHOW_UI);