android服务实现播放器,Android 使用Service实现简易音乐播放器

1. Service 部分

package com.jereh.learnbymyself.service;

import android.app.Service;

import android.content.Intent;

import android.media.MediaPlayer;

import android.os.IBinder;

import android.support.annotation.Nullable;

import com.jereh.learnbymyself.R;

/**

* Created by Hh on 2017/1/22.

*/

public class MusicService extends Service {

@Nullable

@Override

public IBinder onBind(Intent intent) {

return null;

}

private MediaPlayer mediaPlayer;

@Override

public int onStartCommand(Intent intent, int flags, int startId) {

if (intent != null) {

String action = intent.getStringExtra("action");

if (action.equals("play")) {

play();

}

if (action.equals("pause")) {

pause();

}

if (action.equals("stop")) {

stop();

}

}

return super.onStartCommand(intent, flags, startId);

}

private void play() {

if (mediaPlayer == null) {

mediaPlayer = MediaPlayer.create(this, R.raw.monster);

}

mediaPlayer.start();

}

private void pause() {

if (mediaPlayer.isPlaying()) {

mediaPlayer.pause();

}

}

private void stop() {

if (mediaPlayer != null) {

mediaPlayer.stop();

mediaPlayer.reset();

mediaPlayer.release();

mediaPlayer = null;

}

}

@Override

public void onDestroy() {

stop();

super.onDestroy();

}

}

2. 界面部分

package com.jereh.learnbymyself.service;

import android.content.Intent;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import com.jereh.learnbymyself.R;

public class MediaActivity extends AppCompatActivity implements View.OnClickListener{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_media);

findViewById(R.id.play).setOnClickListener(this);

findViewById(R.id.pause).setOnClickListener(this);

findViewById(R.id.stop).setOnClickListener(this);

findViewById(R.id.exit).setOnClickListener(this);

}

private MediaPlayer mediaPlayer;

@Override

public void onClick(View v) {

Intent intent = new Intent(this, MusicService.class);

switch (v.getId()) {

case R.id.play:

intent.putExtra("action", "play");

startService(intent);

break;

case R.id.pause:

intent.putExtra("action", "pause");

startService(intent);

break;

case R.id.stop:

intent.putExtra("action", "stop");

startService(intent);

break;

case R.id.exit:

intent.putExtra("action", "exit");

stopService(intent);

finish();

break;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值