MediaPlayer播放音频

一、播放网络音频/SD卡上的音频

MediaPlayer mediaPlayer=new MediaPlayer();
String url="http://xxxxxxxx";
Uri uri=Uri.parse(url);
try{
    mediaPlayer.setDataSource(context,uri);
    //mediaPlayer.setDataSource(context,"sd/music.mp3");
    mediaPlayer.prepare();
    mediaPlayer.start();
}catch(Exception e){
    e.printStackTrace();
}

二、本地播放

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

监听,按钮。
启动:

try{
    if(mediaPlayer!=null){
        mediaPlyaer.stop();
    }
    mediaPlayer.prepare();
    mediaPlayer.start();
    }catch(Exception e){
        e.printStackTrace();
    }

暂停:

try{
    if(mediaPlayer!=null){
        mediaPlayer.pause();
    }
}catch(Exception e){
    e.printStackTrace();
}

停止:

try{
    if(mediaPlayer!=null){
        mediaPlayer.stop();
    }
}catch(Exception e){
    e.printStackTrace();
}

播放完成的监听:

mediaPlayer.setOnCompletionListener(new OnCompletionListener(){
    @Override
    public void onCompletion(MediaPlayer mp){
        try{
            mp.release();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
});

错误时的监听:

mediaPlayer.setOnErrorListener(new OnErrorListener(){
    @Override
    public boolean onError(MediaPlayer mp,int arg1,int arg2){
        try{
            mp.release();
        }catch(Exception e){
            e.printStackTrace();
        }
        return false;
    }
});

最后在Activity的onDestroy()方法里面:

@Override
protected void onDestroy(){
    if(meidaPlayer !=null){
        meidaPlayer.release();  
    }
    super.onDestroy();
}

三、对播放器的主要控制方法:
seekTo()是定位方法,可以让播放器从指定位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播放的网络文件,真正定位完成时会触发OnSeekComplete.onSeekComplete(),如果需要时可以调用setOnSeekCompleteListener(OnSeekCompleteListener)设置监听来处理。
reset()可以使播放器从Error状态中恢复过来,重新会到Idle状态。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值