package com.android.service;
import java.io.IOException;
import android.app.Service;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;
import android.view.SurfaceHolder;
import com.android.entity.Constant;
public class MediaBackService extends Service {
private String TAG = Constant.TAG;
public MediaPlayer mediaPlayer;
boolean isStop = true;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Log.i(TAG,"onbind");
mediaPlayer = new MediaPlayer();
return new MyBinder();
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.i(TAG,"oncreate");
}
public class MyBinder extends Binder{
public MediaBackService getResult(){
return MediaBackService.this;
}
}
/**
*
* @author Administrator
*
*/
public void activityNotify(){
Intent server = new Intent("mediaplay");
server.putExtra("ok", Constant.PLAY);
sendBroadcast(server);
Log.i(TAG, "onstartCommand");
}
/**
* 预加载
*/
public void preparePlay(SurfaceHolder holder,String path){
//
//String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/weileyujianni.3gp";
try {
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(holder);
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
public boolean isPlay(){
if (mediaPlayer == null){
return false;
}
return mediaPlayer.isPlaying();
}
//缓存
public void prepare(){
try {
mediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
}
//暂停
public void pause(){
mediaPlayer.pause();
}
//播放
public void play(){
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}else{
mediaPlayer.start();
}
}
//ͣ停止
public void stop(){
mediaPlayer.stop();
mediaPlayer.release();
}
//获得资源长度
public int getDuration(){
return mediaPlayer.getDuration();
}
//跳转到指定位置
public void seekTo(int position){
mediaPlayer.seekTo(position);
}
//获得当前播放位置
public int getCurrentPosition(){
return mediaPlayer.getCurrentPosition();
}
/**
* 循环
*/
public void looper(){
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
play();
}
});
}
@Override
public boolean onUnbind(Intent intent) {
mediaPlayer = null;
return super.onUnbind(intent);
}
}