设为首页 加入收藏

TOP

播放音乐案例(一)
2017-10-13 10:36:47 】 浏览:4912
Tags:播放 音乐 案例

播放音乐案例

 

分析:

和上一篇文章的结构是一样的,只不过我们需要在这里里面加上播放音乐的一些操作:

其实也就是调用系统的播放音乐的API而已,写在服务里面就好,

//媒体播放器
private MediaPlayer player;

 1     public void onCreate() {
 2         File file=new File(Environment.getExternalStorageDirectory(),"a.mp3");
 3         player =new MediaPlayer();
 4         try {
 5             //设置播放源
 6             player.setDataSource(file.getAbsolutePath());
 7         } catch (Exception e) {
 8             e.printStackTrace();
 9         } 
10         Log.d("fanfan", "onCreate");
11         super.onCreate();
12     }
 1     public int onStartCommand(Intent intent, int flags, int startId) {
 2         
 3         try {
 4             //设置准备资源监听器,当资源准备完毕,回调监听器的onPrepared函数
 5             player.setOnPreparedListener(new OnPreparedListener() {
 6                 @Override
 7                 //准备资源准备好了会调用这个
 8                 public void onPrepared(MediaPlayer arg0) {
 9                     //播放音乐
10                     player.start();
11                 }
12             });
13             
14             //准备资源,好来播放音乐
15             //异步函数,这个函数内部会开启一个子线程
16             player.prepareAsync();
17             
18         } catch (Exception e) {
19             e.printStackTrace();
20         } 
21         
22         Log.d("fanfan", "onStartCommand");
23         return super.onStartCommand(intent, flags, startId);
24     }
1     public void onDestroy() {
2         //结束音乐
3         player.stop();
4         //释放资源,如果播放下一首的话,就用不着释放资源
5         player.release();
6         Log.d("fanfan", "onDestroy");
7         super.onDestroy();
8     }

 

第一步,照样找个类来继承服务类

 1 package fry;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 
 6 import android.app.Service;
 7 import android.content.Intent;
 8 import android.media.MediaPlayer;
 9 import android.media.MediaPlayer.OnPreparedListener;
10 import android.os.Environment;
11 import android.os.IBinder;
12 import android.util.Log;
13 
14 public class myService extends Service{
15 
16     //媒体播放器
17     private MediaPlayer player;
18     /**
19      * 当绑定这个服务的时候调用
20      */
21     @Override
22     public IBinder onBind(Intent arg0) {
23         Log.d("fanfan", "onBind");
24         return null;
25     }
26     /**
27      * service被创建后调用
28      */
29     @Override
30     public void onCreate() {
31         File file=new File(Environment.getExternalStorageDirectory(),"a.mp3");
32         player =new MediaPlayer();
33         try {
34             //设置播放源
35             player.setDataSource(file.getAbsolutePath());
36         } catch (Exception e) {
37             e.printStackTrace();
38         } 
39         Log.d("fanfan", "onCreate");
40         super.onCreate();
41     }
42     
43     /**
44      * service被start后调用
45      */
46     @Override
47     public int onStartCommand(Intent intent, int flags, int startId) {
48         
49         try {
50             //设置准备资源监听器,当资源准备完毕,回调监听器的onPrepared函数
51             player.setOnPreparedListener(new OnPreparedListener() {
52                 @Override
53                 //准备资源准备好了会调用这个
54                 public void onPrepared(MediaPlayer arg0) {
55                     //播放音乐
56                     player.start();
57                 }
58             });
59             
60             //准备资源,好来播放音乐
61             //异步函数,这个函数内部会开启一个子线程
62             player.prepareAsync();
63             
64         } catch (Exception e) {
65             e.printStackTrace();
66         } 
67         
68         Log.d("fanfan", "onStartCommand");
69         return super.onStartCommand(intent, flags, startId);
70     }
71     
72     /**
73      * service被停止后调用
74      */
75     @Override
76     public void onDestroy() {
77         //结束音乐
78         player.stop();
79         //释放资源,如果播放下一首的话,就用不着释放资源
80         player.release();
81         Log.d("fanfan", "onDestroy");
82         super.onDestroy();
83     }
84 
85 }

 

第二步,该配置的监听服务也是要配置的

 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 2     package="com.example.playMusic"
 3     android:versionCode="1"
 4     android:versionN
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android Studio发布项目到jcenter.. 下一篇Android打开相机和打开相册

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目