首先创建一个专门用来播放音乐文件(在这里只播放已经导入到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就可以了。
分享到:
相关推荐
在Android中,Service是一种没有用户界面的组件,它可以在后台长时间运行,执行如播放音乐、网络通信等任务。创建一个Service通常需要重写`onStartCommand()`或`onBind()`方法。在本场景中,我们可能需要自定义一个...
Service是在Android系统中运行的后台组件,它可以没有用户界面,专注于执行长时间任务,如播放音乐、网络通信等。Service生命周期中的关键方法包括onCreate(), onStartCommand(), onBind(), onUnbind()和onDestroy...
Started Service 是一种可以在后台长时间运行的服务,例如播放音乐、下载文件等。Bound Service 是一种可以与其他组件进行交互的服务,例如与 Activity 进行交互。 在本文中,我们使用 Started Service 来实现简单...
1. **启动Service:** Activity可以通过startService()方法启动一个Service,Service会在后台持续运行,直到stopSelf()或stopService()被调用。 2. **绑定Service:** 使用bindService()方法,Activity可以与Service...
- 在Service中定义接口:首先,我们需要在Service类中创建一个Binder对象,它实现了`IBinder`接口,这样Activity就能通过这个接口调用Service的方法。 - 定义Service:在AndroidManifest.xml中声明Service,并在...
在Android中,`Service`是一种没有用户界面的组件,它通常用于执行长时间运行的任务,如播放音乐、下载数据等。`Service`有两种启动方式:通过`startService()`启动(异步执行,可以随时停止)和通过`bindService()`...
1. **Android Service**: Service是Android中的一个组件,它可以在后台长时间运行,不依赖于用户的交互。在音乐播放器中,Service用于在后台持续播放音乐,即使用户离开应用也能保持播放状态。 2. **MediaPlayer类*...
在Android应用开发中,Service是用于执行长时间运行操作的一个组件,而Activity是用户与应用交互的界面。将Activity与Service绑定是一种常见的通信方式,尤其在需要在后台运行任务且需要与用户界面保持交互时。本...
本项目“Music Player Service”是针对Android平台设计的一个音乐播放器,它深入展示了如何利用Service组件来实现音乐播放功能。下面我们将详细探讨这个项目的知识点。 1. **Android Service**: - Service是...
Service是Android四大组件之一,它在后台运行,不提供用户界面,可以用于执行长时间运行的任务,如播放音乐。由于Service运行于后台,即使用户离开应用,音乐也能继续播放。 要创建一个播放音乐的Service,你需要...
综上所述,通过创建一个Service并结合MediaPlayer,我们可以实现在Android设备后台播放音乐的功能。同时,通过暴露控制接口、使用Notification以及处理生命周期,我们可以提供良好的用户体验并遵循Android系统的最佳...
本项目"本地Service练习,简易音乐播放器"旨在教你如何利用Service组件创建一个后台运行的音乐播放应用。让我们深入探讨一下这个练习涉及到的关键知识点。 1. **Android Service** - **Service的基本概念**:...
在Android开发中,创建一个基于Service的简易音乐播放器是一个常见的练习,可以帮助开发者理解服务(Service)的概念以及如何处理多媒体播放。在这个项目中,我们关注的是Android 4.1.2版本,它提供了对基本多媒体...
在Android应用开发中,`Service` 是一个非常重要的组件,它允许应用程序在后台长时间运行,即使用户界面(UI,如Activity)已经关闭。本篇我们将深入探讨如何在Service与Activity之间进行交互,尤其是Service如何向...
在Android系统中,Service是一种没有用户界面的后台组件,它能长时间运行,执行特定的任务,例如播放音乐、处理网络请求等。然而,Service本身并不能直接启动一个Activity,因为它们属于不同的Android组件生命周期。...
在Android应用开发中,Service和Activity是两个非常重要的组件,它们分别用于后台长时间运行的任务和服务交互。本示例"Android Service与Activity会话Demo"旨在教你如何在Android Studio中实现Service与Activity之间...
通过实现自定义的`IBinder`接口,我们可以创建一个 Binder 对象,将它作为`Service`的一部分暴露出去,让`Activity`通过`bindService()`方法连接并调用`Service`的方法。 - **Handler**: Handler是Android消息处理...
Activity可以通过startService()方法发送一个Intent到Service,Service在onStartCommand()方法中接收并处理Intent。这种方式适用于一次性的请求,如启动服务执行特定任务。 3. **Messenger**: 当需要在不同的线程...
在Android应用开发中,服务(Service)是一种用于执行长时间运行操作的组件,它不提供用户界面,但可以与其它组件(如Activity)交互。在本例中,我们关注的是通过`BindService`来绑定Service,以及如何利用...
在Android开发中,Service和Activity是两个非常重要的组件。Service主要负责在后台执行长时间运行的任务,而Activity则作为用户交互的界面。它们之间的通信是Android应用中常见的需求,例如播放音乐、下载数据等。本...