Android播放音乐案例分享
发布时间 - 2026-01-11 03:10:44 点击率:次本文实例为大家分享了Android播放音乐案例的具体实现代码,供大家参考,具体内容如下

效果:
分析:
和上一篇文章的结构是一样的,只不过我们需要在这里里面加上播放音乐的一些操作:
其实也就是调用系统的播放音乐的API而已,写在服务里面就好,
//媒体播放器
private MediaPlayer player;
public void onCreate() {
File file=new File(Environment.getExternalStorageDirectory(),"a.mp3");
player =new MediaPlayer();
try {
//设置播放源
player.setDataSource(file.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
}
Log.d("fanfan", "onCreate");
super.onCreate();
}
public int onStartCommand(Intent intent, int flags, int startId) {
try {
//设置准备资源监听器,当资源准备完毕,回调监听器的onPrepared函数
player.setOnPreparedListener(new OnPreparedListener() {
@Override
//准备资源准备好了会调用这个
public void onPrepared(MediaPlayer arg0) {
//播放音乐
player.start();
}
});
//准备资源,好来播放音乐
//异步函数,这个函数内部会开启一个子线程
player.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
Log.d("fanfan", "onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
public void onDestroy() {
//结束音乐
player.stop();
//释放资源,如果播放下一首的话,就用不着释放资源
player.release();
Log.d("fanfan", "onDestroy");
super.onDestroy();
}
第一步,照样找个类来继承服务类
package fry;
import java.io.File;
import java.io.IOException;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Environment;
import android.os.IBinder;
import android.util.Log;
public class myService extends Service{
//媒体播放器
private MediaPlayer player;
/**
* 当绑定这个服务的时候调用
*/
@Override
public IBinder onBind(Intent arg0) {
Log.d("fanfan", "onBind");
return null;
}
/**
* service被创建后调用
*/
@Override
public void onCreate() {
File file=new File(Environment.getExternalStorageDirectory(),"a.mp3");
player =new MediaPlayer();
try {
//设置播放源
player.setDataSource(file.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
}
Log.d("fanfan", "onCreate");
super.onCreate();
}
/**
* service被start后调用
*/
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
try {
//设置准备资源监听器,当资源准备完毕,回调监听器的onPrepared函数
player.setOnPreparedListener(new OnPreparedListener() {
@Override
//准备资源准备好了会调用这个
public void onPrepared(MediaPlayer arg0) {
//播放音乐
player.start();
}
});
//准备资源,好来播放音乐
//异步函数,这个函数内部会开启一个子线程
player.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
Log.d("fanfan", "onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
/**
* service被停止后调用
*/
@Override
public void onDestroy() {
//结束音乐
player.stop();
//释放资源,如果播放下一首的话,就用不着释放资源
player.release();
Log.d("fanfan", "onDestroy");
super.onDestroy();
}
}
第二步,该配置的监听服务也是要配置的
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.playMusic"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="fry.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="fry.Activity01" android:exported="true"></activity>
<service android:name="fry.myService">
</service>
</application>
</manifest>
第三步,播放或者结束音乐
package fry;
import com.example.playMusic.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class Activity01 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity01);
}
public void onClick(View view){
Intent intent=new Intent();
intent.setClass(this, myService.class);
switch(view.getId()){
case R.id.btn_start://播放音乐,启动服务
startService(intent);
break;
case R.id.btn_stop://结束音乐,停止服务
stopService(intent);
break;
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 播放音乐
# Android实现多媒体之播放音乐
# Android开发中听筒无法播放音乐的解决方法
# Android编程实现使用SoundPool播放音乐的方法
# 教你轻松制作Android音乐播放器
# android暂停或停止其他音乐播放器的播放实现代码
# Android编程开发音乐播放器实例
# Android中播放在线音乐代码
# android音乐播放器监听电话状态实现代码
# Android简易音乐播放器实现代码
# Android简单音乐播放实例
# 媒体播放器
# 一首
# 就用
# 不着
# 准备好了
# 回调
# 在这里
# 就好
# 上一
# 找个
# 大家分享
# 写在
# 第二步
# 绑定
# 第三步
# 具体内容
# 大家多多
# 只不过
# 是一样的
# flags
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
如何选择可靠的免备案建站服务器?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
如何在IIS管理器中快速创建并配置网站?
如何用PHP工具快速搭建高效网站?
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
大连网站制作公司哪家好一点,大连买房网站哪个好?
IOS倒计时设置UIButton标题title的抖动问题
无锡营销型网站制作公司,无锡网选车牌流程?
如何在IIS7上新建站点并设置安全权限?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
浅析上传头像示例及其注意事项
香港服务器如何优化才能显著提升网站加载速度?
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Android自定义控件实现温度旋转按钮效果
如何在阿里云香港服务器快速搭建网站?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
图册素材网站设计制作软件,图册的导出方式有几种?
如何注册花生壳免费域名并搭建个人网站?
如何在阿里云ECS服务器部署织梦CMS网站?
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
,怎么在广州志愿者网站注册?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
如何在 Pandas 中基于一列条件计算另一列的分组均值
如何挑选最适合建站的高性能VPS主机?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
常州企业网站制作公司,全国继续教育网怎么登录?
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
如何在Windows虚拟主机上快速搭建网站?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
活动邀请函制作网站有哪些,活动邀请函文案?
电商网站制作价格怎么算,网上拍卖流程以及规则?
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
如何在云虚拟主机上快速搭建个人网站?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在IIS中新建站点并解决端口绑定冲突?
详解jQuery停止动画——stop()方法的使用
如何在搬瓦工VPS快速搭建网站?

