`
chen592969029
  • 浏览: 108610 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android中不用Service跨Avtivity仍然可以播放音乐的一个简单方法

阅读更多
首先创建一个专门用来播放音乐文件(在这里只播放已经导入到res/raw/下的音频文件)的类
MusicPlayer
public class MusicPlayer implements MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {;
	private MediaPlayer bgPlayer;
	
	public MusicPlayer(Context context) {
		this.context = context;
	}
        //当音乐播放完毕时
	public void onCompletion(MediaPlayer mp) {
		stopBgSound();
	}
        //当音乐播放发生错误时
	public boolean onError(MediaPlayer mp, int what, int extra) {
		stopBgSound();
		return false;
	}
	//播放背景音乐,传入的paramInt为res/raw/目录下的音频文件的引用
	public void playBgSound(int paramInt) {
		stopBgSound();
		
		try {
                        //利用音频文件创建一个MeidaPlayer
			MediaPlayer mediaPlayer = MediaPlayer.create(context, paramInt);
			bgPlayer = mediaPlayer;
			bgPlayer.setOnCompletionListener(this);
                        //设置是否循环播放
			bgPlayer.setLooping(true);
                        //开始播放
			bgPlayer.start();
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} 
	}
	//停止播放背景音乐
	public void stopBgSound() {
		if(bgPlayer == null) 
			return;
		if(bgPlayer.isPlaying())
			bgPlayer.stop();
		bgPlayer.release();
		bgPlayer = null;
	}
}



然后,新建一个Activity,我命名为MyActivity

MyActivity.java
public class MyActivity extends Activity {
	public static MusicPlayer musicPlayer;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		
		if(musicPlayer == null) {
			SysSetting.getInstance(getApplicationContext()).load();
			musicPlayer = new MusicPlayer(getApplicationContext());
			musicPlayer.playBgSound(R.raw.welcome);
		}
	}
}


在这里已经完成了大部分的工作,最后一步就是,让你所需要跨Activity播放背景音乐而不使用Service的Activity都继承与这个Activity就可以了。
分享到:
评论
2 楼 chen592969029 2010-11-25  
因为这个MusicPlayer是static的,只要都继承这个类,那么这个MusicPlayer就会一直存在,自然就可以一直播放了。
1 楼 wf2030 2010-11-17  
还是不太明白,为什么继承这个类就能不适用service跨Activity播放音乐了, 什么原理呢?

相关推荐

    Android通过startService播放背景音乐

    关于startService的基本使用概述及其生命周期可参见《Android中startService基本使用方法概述》。 本文通过播放背景音乐的简单示例,演示startService的基本使用流程,具体内容如下 系统界面如下: 界面上面就两...

    Android:在service和activity之中,实现音乐播放进度条传递信息的两种方式

    我们需要在activity中建立一个用于接收信息的handler(handler简单的说是在android中可以发送消息和也可以处理消息的一种机制,当然它的用途更加强大,有时间可以去自己了解) 我们需要在onCreate方法之前添加handler...

    Android开发音乐播放器

    其中音乐来源于手机本地,使用了Content Provider获取,播放音乐为了能后台播放,则在Service中实现,Activity和Service之间的通讯则利用了广播来实现,所以这个项目对增强Android基础知识来说是个很好的选择。...

    Android25闹钟项目——音乐播放

    Android中使用MediaPlayer播放音乐,我这有两个例子 一个是在activity中播放音乐,一个是在service中播放

    Android通过Service实现简单的音乐播放

    3:Service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity,这个时候程序要在后台继续播放;比如检测SD卡上文件的变化;再或者在后台记录用户的地理信息位置的改变;或者启动一个服

    Android使用Service实现简单音乐播放实例

     Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,例如我们打开一个音乐播放器来听音乐,在听音乐的...

    基于Service的简易音乐播放器

    Android版本4.1.2,实现资源res/raw文件中音频的播放、暂停、停止,并实现程序的退出,供初学者参考!

    Android Service中方法使用详细介绍

    例如,一个从service播放音乐的音乐播放器,应被设置为前台运行,因为用户会明确地注意它的运行.在状态栏中的通知可能会显示当前的歌曲并且允许用户启动一个activity来与音乐播放器交互。 Service的两种实现形式 1....

    Android中Service(后台服务)详解

    1.概念: ...播放音乐,他可以通过INTENT来开启,同时也可以绑定到宿主对象(调用者例如ACTIVITY上)来使用。 (2).如果说Activity是显示前台页面的信息,那么Service就是在后台进行操作的。如果Serv

    BindService绑定Service播放音乐

    1. 使用了BindService绑定Service。 2. 使用Boardcast,Service发送广播通知Activity更新进度条进度,歌曲状态更新等。

    Android实现音乐播放进度条传递信息的两种方式(在service和activity中)

    我们需要在activity中建立一个用于接收信息的handler(handler简单的说是在android中可以发送消息和也可以处理消息的一种机制,当然它的用途更加强大,有时间可以去自己了解) 我们需要在onCreate方法之前添加handler...

    android 后台音乐播放器

    android Activity service mp3 音乐播放器 adis 可直接运行

    Android基于Service的音乐播放器

    主要为大家详细介绍了Android基于Service的音乐播放器,本文开发一个基于Service的音乐播放器,音乐由后台运行的Service负责播放,感兴趣的小伙伴们可以参考一下

    新版Android开发教程.rar

    也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...

    Android课程设计---基于Android系统的音乐播放器设计与实现.doc

    后台播放创建一个类继承service方法,在该类中使其具有播放暂 停下一首上一首的功能的方法,从而是它在各个Activity之间进行跳转的时候为其他的 类提供相应的方法。创建一个新建文件类和过滤文件信息的类,用以存贮...

    Android Service服务详细介绍及使用总结

    Android Service服务详解 一.Service简介  Service是android 系统中的四大组件之一(Activity、Service、BroadcastReceiver、 ContentProvider),它跟Activity的级别...一个service可能处理网络 事物,播放音乐,执

    Android简单音乐播放实例

    Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,例如我们打开一个音乐播放器来听音乐,在听音乐的...

    Servicemaster:Android 使用Service和BroadcastReceiver实现音乐播放功能

    Android 使用Service和BroadcastReceiver实现音乐播放功能 Service demo中service使用得是新的进程,activity和service日志需要切换进程才能看到,这里是最典型得activity和service交互的过程, activity传递信息很简单...

    基于Android Service 生命周期的详细介绍

    当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了,又比如当我们一个应用的数据是通过网络获取的,不同时间(一段时间)的数据是不同的这时候我们可以用Service在后台...

Global site tag (gtag.js) - Google Analytics