Android组件学习笔记(简单音乐播放器,service与intent)

来源:互联网 发布:mac pdf转word网页版 编辑:程序博客网 时间:2024/06/07 14:59

想做一个可以自由获取手机音乐文件的音乐播放器,结果难度比我想的大了点还需要一段时间的学习,于是简化了一下做的是很简单的版本,只能播放程序自带的音乐文件,发出来记录一下。

界面就只是两个按钮而已就不用发图片了

注意:

音乐文件需要事先放置好在raw文件夹内,可能会没有这个文件夹,百度一下如何新建就好

实现功能:

1.播放音乐

2.停止音乐

运用关键技术:

1.intent跳转

2.service后台服务

实现代码:

界面就是两个按钮设置事件就行了

代码:

package com.example.hp.baidumap;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Picture;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button start=(Button)findViewById(R.id.button);        Button stop=(Button)findViewById(R.id.button2);        final Intent it=new Intent(this,PlayMusicService.class);        start.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                startService(it);            }        });        stop.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                stopService(it);            }        });    }}
service代码:

package com.example.hp.baidumap;import android.app.Service;import android.content.Intent;import android.media.MediaPlayer;import android.os.IBinder;public class PlayMusicService extends Service {    private MediaPlayer mediaPlayer;    public PlayMusicService() {    }    @Override    public IBinder onBind(Intent intent) {        // TODO: Return the communication channel to the service.        throw new UnsupportedOperationException("Not yet implemented");    }    @Override    public void onStart(Intent intent, int startId) {        super.onStart(intent, startId);        mediaPlayer=MediaPlayer.create(this,R.raw.demo);        mediaPlayer.start();    }    @Override    public void onDestroy() {        super.onDestroy();        mediaPlayer.stop();    }}
权限设置:(这个因Android studio版本不同,低版本的需要手动添加)

<service            android:name=".PlayMusicService"            android:enabled="true"            android:exported="true">

阅读全文
1 0