private MediaPlayer mMediaPlayer; private int curMediaPlayerTimes = 0; /** * 播放默认声音 * @param times 要播放的次数. * */ private void playMediaPlayerVoice(int times) { if(times < 1) { return; } if (mMediaPlayer != null && mMediaPlayer.isPlaying()) { return; } try { mMediaPlayer = MediaPlayer.create(this, R.raw.default); mMediaPlayer.start(); curMediaPlayerTimes++; mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { //播放完成的监听 if (mMediaPlayer == null) { return; } if(curMediaPlayerTimes < times) { if( !mMediaPlayer.isPlaying()) { mMediaPlayer.start(); } // mMediaPlayer.start(); //是否循环播放 // mMediaPlayer.setLooping(true); curMediaPlayerTimes++; } else { curMediaPlayerTimes = 0; stopMediaPlayerVoice(); } } }); } catch (Exception e) { e.printStackTrace(); } } /** * 停止播放. * */ private void stopMediaPlayerVoice() { if (mMediaPlayer != null) { mMediaPlayer.stop(); mMediaPlayer.release(); //切记一定要release mMediaPlayer = null; } }
读取raw音频多次播放
最新推荐文章于 2024-04-26 14:20:59 发布