android背景音乐播放

前言

我们在开发一些android应用程序,尤其是手机游戏的时候,就需要添加一些背景音乐,在这里我会介绍两种播放的方式供大家参考

第一种:直接播放

这种方式相对简单,就是在activity的onCreate()方法中添加以下代码就可以

<span style="font-size:18px;">private MediaPlayer mediaPlayer;
mediaPlayer=MediaPlayer.create(this, R.raw.background);
		//是否循环播放
		mediaPlayer.setLooping(true);</span>
这种方法虽然简单,但是在我们系统化开发中就显得比较粗糙,所以需要用下面这种方式来实现

第二种:用服务实现

这种方式是在开发中普遍用到的方法,也能够让代码结构更加清晰

首先要在服务所在的包中新建一个MusicService的.Java文件,如果没有这个包,建议添加,在这个文件中,主要写播放音乐的一些方法,代码如下:

package com.nxzst.gbg.service;

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


import com.nxzst.gbg.R;
import com.nxzst.gbg.util.LogX;

public class MusicService extends Service{
	
	public class MusicBinder {

		public MusicService getService() {
			// TODO Auto-generated method stub
			return MusicService.this;
		}
	}

	private MediaPlayer mediaPlayer;
	
	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		return null;
	}
	public void onCreate(){
		super.onCreate();
		LogX.print("==========service start=========");
		mediaPlayer=MediaPlayer.create(this, R.raw.background);
		//是否循环播放
		mediaPlayer.setLooping(true);
		if(mediaPlayer==null){
			return;
		}

	}
	public void onDestroy(){
		super.onDestroy();
		if(mediaPlayer!=null){
			mediaPlayer.stop();
		}
		
		mediaPlayer.release();
	}
	public int onStartCommand(Intent intent,int flags,int startId){
		if(!mediaPlayer.isPlaying()){
			mediaPlayer.start();
		}
		return START_STICKY;
		
	}

	
}
这是一个比较简单的音乐播放服务程序,接下来我们直接在需要用到它的时候用服务调用即可
Intent intent=new Intent(SettingActivity.this,MusicService.class);	
		startService(intent);
要注意:这里启动的是服务,不是activity
做完这些还是不能用到这个服务,为什么呢?因为没有注册!我们需要在清单文件中去注册这个服务

 <service android:name=".service.MusicService">
        </service>
要注意:这里的name属性要添加你服务所在的包名,不然还是启动不了
写到这里,就可以实现播放背景音乐的功能啦!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值