SPActivityMIDIPlayer
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.TextView;
public class SPActivity extends Activity {
private MIDIPlayer mMIDIPlayer = null;
private boolean mbMusic = false;
private TextView mTextView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView = (TextView)this.findViewById(R.id.TextView01);
mMIDIPlayer = new MIDIPlayer(this);
/* 装载数据 */
// 取得活动的preferences对象.
SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);
//取得值
mbMusic = settings.getBoolean("bmusic", false);
if(mbMusic){
mTextView.setText("当前音乐状态:开");
mbMusic = true;
mMIDIPlayer.PlayMusic();
}
else{
mTextView.setText("当前音乐状态:关");
}
}
public boolean onKeyUP(int keyCode, KeyEvent event)
{
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
mTextView.setText("当前音乐状态: 开");
mbMusic = true;
mMIDIPlayer.PlayMusic();
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
mTextView.setText("当前音乐状态: 关");
mbMusic = true;
mMIDIPlayer.FreeMusic();
break;
}
return true;
}
public boolean onKeyDown(int keyCode, KeyEvent event){
if(keyCode == KeyEvent.KEYCODE_BACK){
/* 这里我们在推出应用程序时保存数据 */
// 取得活动的preferences对象.
SharedPreferences uiStata = getPreferences(0);
// 取得编辑对象
SharedPreferences.Editor editor = uiStata.edit();
// 添加值
editor.putBoolean("bmusic", mbMusic);
//提交保存
editor.commit();
if(mbMusic){
mMIDIPlayer.FreeMusic();
}
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
public class MIDIPlayer {
public MediaPlayer playerMusic = null;
private Context mContext = null;
public MIDIPlayer(Context context){
mContext = context;
}
/* 播放音乐 */
public void PlayMusic(){
/* 装载资源中的音乐 */
playerMusic = MediaPlayer.create(mContext, R.raw.start); //资源文件 raw文件夹中 start文件 mid格式
/* 设置是否循环 */
playerMusic.setLooping(true);
try {
playerMusic.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
playerMusic.start();
}
/* 停止并释放音乐 */
public void FreeMusic(){
if(playerMusic != null){
playerMusic.stop(); //停止
playerMusic.release(); //释放
}
}
}