android mediaplayer 后台播放,Android服务—基于MediaPlayer后台播放音乐

本文详细介绍了如何在Android环境中,利用Android服务(PlayMusicService)和MediaPlayer组件实现在后台播放音乐。首先在activity_main.xml布局文件中设置播放按钮,然后在MainActivity.java中为按钮设置响应函数,启动PlayMusicService。接着创建并配置PlayMusicService,在onHandleIntent()方法中加载并播放音频文件。最后,将音频文件放入res/raw文件夹,并注意文件名大小写问题。在遇到问题时,通过重建项目来解决资源未被识别的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android服务—基于MediaPlayer后台播放音乐

操作环境:Android Studio 4.0.0、SDK Level 21(版本5.0 Lollipop)、Windows 10、集成显卡RX550、CPU i7-8

一、设置布局

​在布局文件(activity_main.xml)中随意布局,我的布局是用的相对布局,如下图所示:

​当然这个居中的效果就是利用相对布局中的gravity属性,将其中包含的center、center_vertical和center_horizontal都设置为true即可。

二、设置按钮响应函数

​在MainActivity.java中创建新的函数,命名为onClickPlayMusic,当然命名随意了,如下面代码所示:

public void onClickPlayMusic(View btn) {

Intent intent = new Intent(MainActivity.this, PlayMusicService.class);

startService(intent);

}

​其中的PlayMusicService便是今天的重点。到现在为止,应该不难理解这句话的意思:当用户点击播放音乐的按钮时,我们用Intent传递一个东西(啥都没有)到一个名为PlayMusicService的服务。

​所以我们是在自定义的PlayMusicService服务中实现音乐的播放的。

三、设置PlayMusicService服务

​自己建立一个服务是一个很麻烦的事儿,不过好在AS已经帮我们完成了一个创建服务的向导。步骤如图:

四、重写onHandleIntent()方法

​将onHandleIntent()方法的方法体清空,然后里面写入播放音乐的代码:

@Override

protected void onHandleIntent(Intent intent) {

MediaPlayer mediaPlayer =

MediaPlayer.create(

getApplicationContext(),

R.raw.the_story_between_moon_and_me

);

mediaPlayer.start();

}

​然后你就以为你做完了,当然没有。怎么可能,自始至终都没见着音频文件。而且这个地方还是一个容易出错的地方,尤其是这个R.raw.the_story_between_moon_and_me。

五、放入音频文件

(1)新建raw文件夹

(2)放入音频文件

直接将.mp3文件拖入raw文件夹中,但是操作必须在AS中完成。即将文件拖入AS不松手再复制到raw中。

切记,在android的资源文件中不能出现大写的文件名,因为大写的字母不能在R.java中识别生成id。

​在做完上述两步后,有部分同志可能遇到这样的情况:

​不要慌张,我们只需要重建(Rebuild)项目即可,也就是说AS不能及时发现我们其实已经建立了一个文件夹,所以需要我们手动重构项目。如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值