2016-12-02 27 views
-2

编程降低音量我我创造了音乐播放器应用程序,我想设置的音量上下编程如何增加和Android的

my declaration of my player is: 

     control = (ImageView) findViewById(R.id.control); 
     mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     control.setOnClickListener(pausePlay); 
     control.setBackgroundResource(R.drawable.pause); 


control id is my play and pause button : 


{ 
      // TODO Auto-generated method stub 
      // TODO Auto-generated method stub 

      if (playPause) { 
       control.setBackgroundResource(R.drawable.play); 
       if (mediaPlayer.isPlaying()) 
        mediaPlayer.pause(); 
       media.stop(); 
       intialStage = false; 
       playPause = false; 

      } else { 
       control.setBackgroundResource(R.drawable.pause); 
       if (intialStage) { 
        new Player() 
          .execute("http://streaming.shoutcast.com/MUKILFMRADIO"); 
       } else { 
        if (!mediaPlayer.isPlaying()) 
         mediaPlayer.start(); 
       } 
       playPause = true; 
      } 
     } 


i want to declare another 2 button for increase and decrease of volume and set to the media player please help me in accessing volume up and down in android 

我在我的项目中使用此为我的新的应用程序所以任何人都可以帮我请回复我 ... 我的xml:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center"> 

    <ImageView 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:id="@+id/control1" 
     android:layout_margin="10dp" 
     android:layout_gravity="center" 
     android:background="@drawable/decrement" 
     android:layout_above="@+id/latestAddedSongs" 
     android:layout_alignEnd="@+id/musicArtistName" /> 


<ImageView 
    android:layout_width="70dp" 
    android:layout_height="70dp" 
    android:id="@+id/control" 
    android:layout_margin="10dp" 
    android:layout_gravity="center" 
    android:background="@drawable/play" 
    android:layout_above="@+id/latestAddedSongs" 
    android:layout_alignEnd="@+id/musicArtistName" /> 


    <ImageView 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:id="@+id/control2" 
     android:layout_margin="10dp" 
     android:layout_gravity="center" 
     android:background="@drawable/increment" 
     android:layout_above="@+id/latestAddedSongs" 
     android:layout_alignEnd="@+id/musicArtistName" /> 

</LinearLayout> 

这是我的xml文件检查了这一点,并帮助我........

+0

你要管理媒体播放器音量?使用'mAudioManager.setStreamVolume(3,paramAnonymousInt,0)' – Gattsu

+0

但如何设置功能我的上下按钮 – Udhaya

+0

让我看看完整的XML和完整的Java ..即编辑您的问题 – Gattsu

回答

9

用于音频管理器创建一个对象

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);    
      } 
     }); 

使用按钮标签

音量上下 代码

@Override 
    public boolean dispatchKeyEvent(KeyEvent event) { 
     int action = event.getAction(); 
     int keyCode = event.getKeyCode(); 
     switch (keyCode) { 
      case KeyEvent.KEYCODE_VOLUME_UP: 
       if (action == KeyEvent.ACTION_DOWN) { 
        audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND); 
       } 
       return true; 
      case KeyEvent.KEYCODE_VOLUME_DOWN: 
       if (action == KeyEvent.ACTION_DOWN) { 
        audioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_PLAY_SOUND); 
       } 
       return true; 
      default: 
       return super.dispatchKeyEvent(event); 
     } 
    } 
+0

thanq朋友工作 – Udhaya

1

尝试下面的代码

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

seekbar.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 

seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
@Override 
public void onProgressChanged(SeekBar seekBar, int i, boolean b) { 

textview.setText("Media Volume : " + i); 

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, i, 0); 
} 

@Override 
public void onStartTrackingTouch(SeekBar seekBar) { 

} 

@Override 
public void onStopTrackingTouch(SeekBar seekBar) { 

} 
}); 
0

上面的例子跟进在耶稣的解决方案,如果你想改变服务内的音量,而不是o ˚F活动,替换:

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

有:

AudioManager audioManager; 
audioManager = (AudioManager) YourServiceName.this.getSystemService(Context.AUDIO_SERVICE);