本文实例为大家分享了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;/*** 当绑定这个服务的时候调用*/@Overridepublic IBinder onBind(Intent arg0) {Log.d("fanfan", "onBind");return null;}/*** service被创建后调用*/@Overridepublic 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后调用*/@Overridepublic 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被停止后调用*/@Overridepublic 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-sdkandroid:minSdkVersion="8"android:targetSdkVersion="19" / <applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"  <activityandroid: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{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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播放音乐案例分享相关推荐

  1. android播放音乐权限,android开发播放音乐需要声明什么权限

    android开发播放音乐需要声明什么权限以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! android开发播放音乐需要 ...

  2. android 播放音乐媒体文件(一)

    Audio formats and codecs Format / Codec Encoder Decoder Details Supported File Type(s) / Container F ...

  3. android 播放音乐 自定义控件,Android音乐播放器开发小记——项目简介

    项目源码: 前言 之前做的App多半是巡检,点检类的,一直想开发不同类型的APP来练习.所以选择做一款音乐播放器,基本可以涵盖android所有的基础知识,比如四大组件,自定义控件,网络请求,跨进程通 ...

  4. android 播放音乐卡顿,Android MediaPlayer+SeekBar播放音频出现卡顿边长可能问题

    开发过程中总是会碰到一些"什么鬼,原来这么简单"等等的问题,比如今天碰到 Android MediaPlayer+SeekBar播放音频出现卡顿可能问题? 代码段一: seekBa ...

  5. android播放音乐(3):播放网络上的音乐

    tips: 1. 播放安装包内的音乐:https://blog.csdn.net/m0_48396761/article/details/107805374 2. 播放内置存储空间.SD卡上的音乐:h ...

  6. 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...

    使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...

  7. Android蓝牙音乐获取歌曲信息

    由于我在蓝牙开发方面没有多少经验,如果只是获取一下蓝牙设备名称和连接状态那么前面的那篇文章就已经足够了,接下来的内容是转自一个在蓝牙音乐方面颇有经验的开发者的博客,他的这篇文章对我帮助很大. 今天,先 ...

  8. 案例分享 | CEVA 使用 TensorFlow Lite 在边缘设备部署语音识别引擎及前端

    客座博文 / Ido Gus,来自 CEVA CEVA 是无线连接和智能传感技术的领先授权商.我们的产品可帮助原始设备制造商 (OEM) 为移动设备.消费者.汽车.机器人.工业和物联网等多种终端市场, ...

  9. android音乐播放器案例,Android MediaPlayer实现音乐播放器实例代码

    Android MediaPlayer实现音乐播放器 1.布局文件 android:layout_width="fill_parent" android:layout_height ...

最新文章

  1. 斯坦福马超:随机梯度下降,也爱躺「平」……why?
  2. 微服务接口限流的设计与思考(附GitHub框架源码)
  3. tomcat的三种部署方式
  4. SpringBoot零基础入门指南--搭建Springboot然后能够在浏览器返回数据
  5. Swipper.js实现轮播功能
  6. 什么是eSIM技术,eSIM的工作原理以及为什么eSIM会很重要
  7. Python字符串常用操作方法
  8. python 0xa什么意思_python使用xpath中遇到:Element a at 0x39a9a80到底是什么?
  9. 【深度】专访华宝基金首席信息官李孟恒:搭建数据驱动引擎,开创投研一体新格局
  10. java UCI,UCI数据集
  11. 阿龙学堂-Java手机号码归属地查询
  12. UVA 12307 Smallest Enclosing Rectangle(旋转卡壳)
  13. 炫酷canvas网页背景动画效果
  14. CSS预处理器语言:Sass、LESS、Stylus
  15. 快慢指针之练习【2】
  16. 「数据治理那点事」系列之三:不忘初心方得始终,数据质量管理要稳住!
  17. 送书来了|Python数据分析必备工具书
  18. HTML学习-13css3圆角和透明色
  19. Inception in CNN
  20. css border偏移

热门文章

  1. piechart 文档 android,Android饼图 PieChart
  2. 见缝插针小程序php,抖音小程序怎么开通
  3. 变分(Calculus of variations)的概念及运算规则(二)
  4. php生成免签转账码,(转)支付宝免签二维收款码生成
  5. 横跨十年CPU架构回顾
  6. 使用IDEA快速画类图
  7. Web 3.0让网络巨头们恐慌?Dapp爆发潮的到来会更让人颤抖!
  8. 中小型服装店如何选择管理软件?
  9. 中国计算机专业的大学生相比于美国差在哪里?
  10. 云和恩墨大讲堂-Thinking in SQL,这是一次烧脑的课程