Android在app 内无论是播放视频还是播放音频,都会使用到Mediaplayer。
此篇关于Meidaplayer 的简单设置。
class Myservice extends Service implements Mediaplayer.onPreparedListerner, Mediaplayer.onErrorListener{
Mediaplayer mMediaplayer;
/**
* 省去部分Service 初始化操作
* /
public void onCreate(){
mMeidaplayer = new Mediaplayer();
Uri mUri = ... // 设置视频、音频文件的uri 地址
// 设置Mediaplayer 为音频播放
mMeidaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
// Mediaplayer 设置dataSource 需要使用try-catch 模块
try{
mMeidaplayer.setDataSource(getApplicationContext(), uri);
}catch(IOException e){
e.printStackTrace();
}catch(IllegalArgumentException e){
e.printStackTrace();
}
mMeidaplayer.setOnPreparedListener(this);
mMeidaplayer.setOnErrorListener(this);
/** 使用prepareAsync() 而不是 prepare()
* 因为prepare() 所需要的时间较长
*/
mMeidaplayer.prepareAsync();
}
/**
* 当prepareAsync() 方法完成时
* 系统会调用onPrepared() 方法开始Mediaplayer
* /
public void onPrepared(Mediaplayer player){
player.start();
}
public boolean onError(Mediaplayer mp, int what, int extra){
// Mediaplayer 在出现错误后要调用reset() 方法
mp.reset();
// ...
return false;
}
/**
* Mediaplayer 非常占用系统资源
* 在关闭Service 后一定要释放资源
* /
public void onDestroy(){
super.onDestroy();
if(mMeidaplayer != null)
mMeidaplayer.release();
}
}