无法控制Android活动中的音量

时间:2015-07-24 13:50:16

标签: android

我写了一个简单的游戏,我想通过按手机侧面的按钮来控制音量,但它不起作用。在代码中,您可以看到setContentView(Layout layid)的参数是View。我想这就是它没有工作的原因,因为另一个使用setContentView(Layout layid)的班级工作了。请建议。

package com.mario.load;

import com.mario.menu.MenuActivity;

import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.KeyEvent;
import game.activity.GameActivity;

public class LoadActivity extends GameActivity  implements Runnable
{
 @Override
 protected void onCreate(Bundle savedInstanceState) 
 {
  new Thread(this).start();

  this.SetScreenToFull();

  this.GetScreenSize();

  super.onCreate(savedInstanceState);
  super.setContentView(new LoadView(this));
 }

 @Override
 public void run() 
 {
  LoadResource.LoadImage(this);

  LoadResource.LoadMusic(this);

  Intent i = new Intent(this,MenuActivity.class);
  this.startActivity(i);
  this.finish();
 }

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
 if(keyCode == KeyEvent.KEYCODE_BACK)
 {
  this.finish();
 }
 AudioManager mAudioManager = (AudioManager)  getSystemService(Context.AUDIO_SERVICE);  

 switch (keyCode) {


 case KeyEvent.KEYCODE_VOLUME_DOWN:
   mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FX_FOCUS_NAVIGATION_UP);    

 return true;

 case KeyEvent.KEYCODE_VOLUME_UP:

 mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE, AudioManager.FX_FOCUS_NAVIGATION_UP); 

 return true;

 }
return true;
}

}

1 个答案:

答案 0 :(得分:0)

使用setVolumeControlStream(AudioManager.STREAM_MUSIC);。它是您的Activity的一种方法,并删除了onKeyDown方法。