Android播放音乐案例分享

本文实例为大家分享了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; } } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-07-30 09:20:59

Android播放音乐案例分享的相关文章

Android播放音乐

mainActivity如下: package cn.com; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnErrorListener; import android.os.Bundle; import android.view.View; import android.view.View.On

NOW直播APP播放音乐方法分享

给各位NOW直播软件的使用者们来详细的解析分享一下播放音乐的方法. 方法分享:     在now直播的直播间界面中,最底部的功能按钮分别是聊天.调整前后置摄像头.美颜.私信.分享,并没有可以放歌的功能. 如果你想在开直播的时候放歌,当下小编教你很简单的方法就是开启另外一个放歌的设备,然后播放音乐,声音会自动收进来! 好了,以上的信息就是小编给各位NOW直播的这一款软件的使用者们带来的详细的播放音乐的方法解析分享的全部内容了,各位看到这里的软件使用者们,小编相信你们现在那是非常的清楚了非常的清楚播

android 获取当前播放音乐的sampling rate

问题描述 android 获取当前播放音乐的sampling rate 我现在要做一个app,需要获取系统当前正在播放音乐的sampling raete,app本身不播放音乐 ,也就是说要能获取其他app播放的音乐的sampling rate信息,有办法做到吗 解决方案 跨进程通信,需要回我就可以啦 解决方案二: android本地音乐播放(一)Android播放音乐

android多媒体音乐(MediaPlayer)播放器制作代码

本文实例为大家分享了android多媒体音乐播放器的具体实现代码,供大家参考,具体内容如下. 首先,在AndroidManifest.xml中配置权限 <!-- 读取手机中的音乐 -->    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />  注释:Android多媒体音乐的几种来源 1. 在andriod的应用中 2     MediaPlayer.crea

Android开发中听筒无法播放音乐的解决方法_Android

本文实例讲述了Android开发中听筒无法播放音乐的解决方法.分享给大家供大家参考,具体如下: 这个问题让我蛋疼了,既然百度也木有资料. 耗时的主要原因是因为权限不足时,而没有终止程序,只用了一小行日志提醒,没有看到 用听筒播放很简单 AudioManager.setMode(AudioManager.MODE_IN_CALL) //设定为通话中即可 还是这一句代码的事,不过记得要加上权限 Android.permission.MODIFY_AUDIO_SETTINGS 不然会像我一样蛋疼半天

Android实现多媒体之播放音乐

闲来无聊,最近了解了一下多媒体的一些初步知识. 音频播放主要设计到MediaPlayer这个类,播放音频的路径可以来源于三个地方. 1.应用内的音频 public class MediaPlayActivity extends AppCompatActivity { private SeekBar seekBar; private MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceStat

Android开发中听筒无法播放音乐的解决方法

本文实例讲述了Android开发中听筒无法播放音乐的解决方法.分享给大家供大家参考,具体如下: 这个问题让我蛋疼了,既然百度也木有资料. 耗时的主要原因是因为权限不足时,而没有终止程序,只用了一小行日志提醒,没有看到 用听筒播放很简单 AudioManager.setMode(AudioManager.MODE_IN_CALL) //设定为通话中即可 还是这一句代码的事,不过记得要加上权限 Android.permission.MODIFY_AUDIO_SETTINGS 不然会像我一样蛋疼半天

Android编程实现使用SoundPool播放音乐的方法

本文实例讲述了Android编程实现使用SoundPool播放音乐的方法.分享给大家供大家参考,具体如下: 如果应用程序要播放密集.短促的音效,这时还用MediaPlayer就显得不合适了.MediaPlayer存在如下缺点: 1.资源占用率较高,延迟时间较长 2.不支持多个音频同时播放 此时我们可以用SoundPool来播放音效,SoundPool使用音效池的概念来管理多个短促的音效,例如它可以开始就加载20个音效,以后在程序中按音效的ID进行播放 SoundPool主要用于播放一些较短的声音

Android仿音乐播放器功能

本文实例为大家分享了Android仿音乐播放器功能的具体代码,供大家参考,具体内容如下 读取本地音乐文件 源代码: import android.media.MediaPlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.