我写了一个简单的游戏,我想通过按手机侧面的按钮来控制音量,但它不起作用。在代码中,您可以看到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;
}
}
答案 0 :(得分:0)
使用setVolumeControlStream(AudioManager.STREAM_MUSIC);
。它是您的Activity的一种方法,并删除了onKeyDown方法。