Android在游戏中实现背景音乐功能

1、要在游戏中添加背景音乐  首先你要先增加一个类,这个类是继承Service的,如下。
package com.example.android.snake;


import android.app.Service; 
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;

public class MusicServer extends Service { 

private MediaPlayer mediaPlayer; 

@Override 
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}

@Override 
public void onStart(Intent intent,int startId){
super.onStart(intent, startId);

if(mediaPlayer==null){ 

// R.raw.mmp是资源文件,MP3格式的 
mediaPlayer = MediaPlayer.create(this, R.raw.mmp);
mediaPlayer.setLooping(true);
mediaPlayer.start();


}

@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mediaPlayer.stop();
}
}

2、在AndroidManifest.xml中添加如下代码
<service android:name=".MusicServer">
<intent-filter>
<action android:name="com.angel.Android.MUSIC"/>
<category android:name="android.intent.category.default" />
</intent-filter>
</service>

3、在Snake.java加入以下代码(红色为新加的)


package com.example.android.snake;

import android.app.Activity; 
import android.os.Bundle;
import android.view.Window;
import android.widget.TextView;
import android.content.Intent;

public class Snake extends Activity { 

private SnakeView mSnakeView; 
    private Intent intent = new Intent("com.angel.Android.MUSIC");

private static String ICICLE_KEY = "snake-view";

/**
* Called when Activity is first created. Turns off the title bar, sets up
* the content views, and fires up the SnakeView.

*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.snake_layout); 

//start background music 
        startService(intent);


mSnakeView = (SnakeView) findViewById(R.id.snake);
mSnakeView.setTextView((TextView) findViewById(R.id.text));

if (savedInstanceState == null) { 
// We were just launched -- set up a new game
mSnakeView.setMode(SnakeView.READY);
} else {
// We are being restored
Bundle map = savedInstanceState.getBundle(ICICLE_KEY);
if (map != null) {
mSnakeView.restoreState(map);
} else {
mSnakeView.setMode(SnakeView.PAUSE);
}
}
}

@Override 
protected void onPause() {
super.onPause();
// Pause the game along with the activity
mSnakeView.setMode(SnakeView.PAUSE);


        stopService(intent);
}

@Override 
public void onSaveInstanceState(Bundle outState) {
//Store the game state
outState.putBundle(ICICLE_KEY, mSnakeView.saveState());
}





这样运行游戏时候就能听到背景音乐了

转载于:https://www.cnblogs.com/w411601/p/4620290.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值