2016-12-02 32 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);