我是靠谱客的博主 畅快银耳汤,最近开发中收集的这篇文章主要介绍java音乐播放器暂停_新人求助,音乐播放器暂停以后再点播放无响应!,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package com.example.myandroid;

import java.io.IOException;

import android.annotation.SuppressLint;

import android.app.Service;

import android.content.Intent;

import android.media.MediaPlayer;

import android.media.MediaPlayer.OnPreparedListener;

import android.media.MediaPlayer.OnPreparedListener;

import android.os.IBinder;

import android.widget.Toast;

@SuppressLint("NewApi")

public class PlayerService extends Service {

private MediaPlayer mediaPlayer = new MediaPlayer(); //媒体播放器对象

private String path; //音乐文件路径

private boolean isPause; //暂停状态

@Override

public IBinder onBind(Intent arg0) {

return null;

}

@Override

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

if(mediaPlayer.isPlaying()) {

stop();

}

path = intent.getStringExtra("url");

String msg = intent.getStringExtra("MSG");

Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();

if(msg.equals("xx") ) {

play(0);

} else if(msg.equals("yy")) {

pause();

} else if(msg.equals("zz")) {

resume();

}

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

}

/**

* 播放音乐

* @param position

*/

private void play(int position) {

try {

mediaPlayer.reset();//把各项参数恢复到初始状态

mediaPlayer.setDataSource(path);

mediaPlayer.prepare(); //进行缓冲

mediaPlayer.setOnPreparedListener(new PreparedListener(position));//注册一个监听器

}

catch (Exception e) {

e.printStackTrace();

}

}

/**

* 暂停音乐

*/

private void pause() {

mediaPlayer.pause();

}

/**

* 继续音乐

*/

private void resume() {

mediaPlayer.start();

isPause = false;

}

/**

* 停止音乐

*/

private void stop(){

if(mediaPlayer != null) {

mediaPlayer.stop();

try {

mediaPlayer.prepare(); // 在调用stop后如果需要再次通过start进行播放,需要之前调用prepare函数

} catch (Exception e) {

e.printStackTrace();

}

}

}

@Override

public void onDestroy() {

if(mediaPlayer != null){

mediaPlayer.stop();

mediaPlayer.release();

}

}

/**

*

* 实现一个OnPrepareLister接口,当音乐准备好的时候开始播放

*

*/

private final class PreparedListener implements OnPreparedListener {

private int positon;

public PreparedListener(int positon) {

this.positon = positon;

}

@Override

public void onPrepared(MediaPlayer mp) {

mediaPlayer.start(); //开始播放

if(positon > 0) { //如果音乐不是从头播放

mediaPlayer.seekTo(positon);

}

}

}

}

最后

以上就是畅快银耳汤为你收集整理的java音乐播放器暂停_新人求助,音乐播放器暂停以后再点播放无响应!的全部内容,希望文章能够帮你解决java音乐播放器暂停_新人求助,音乐播放器暂停以后再点播放无响应!所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部