本帖最后由 ccqxccqx 于 2011-12-28 16:20:07 编辑

解决方案 »

  1.   

    代码在这里         /**
     * 开始/继续 播放mediaPlayer中的录音
     */
    private void startPlay() {
                       if (new File(currRecord.getPath()).exists()) {
    if (mediaPlayer != null) {
    mediaPlayer.start();
    } else {
    // 在这里写播放的代码
    mediaPlayer = new MediaPlayer();
    mediaPlayer.setOnCompletionListener(onCompletionListener);
    try {
    mediaPlayer.setDataSource(currRecord.getPath());
    mediaPlayer.prepare();
    } catch () {
    ...
                                    }
    mediaPlayer.start();
    }
    }
             }
             /**
     * 停止 释放mediaPlayer中的录音文件
     */
    private void stopPlay() {
    mediaPlayer.stop();
    mediaPlayer.release();
    mediaPlayer = null;
    } /**
     * 媒体播放器播放完毕后回调函数
     */
    private OnCompletionListener onCompletionListener = new OnCompletionListener() { public void onCompletion(MediaPlayer mp) {
    vLeftBtn.setBackgroundResource(R.drawable.play);
    vRightBtn.setBackgroundResource(R.drawable.record);
    iFlag = 3;
    iFlaged = 2;
    FlagMothed();
    Log.e("MyLog", "onCompletion");
    }
    };
      

  2.   

    就是进入了onCompletion()方法,也不应该是在你点击start Button时进入的吧为什么不在stopPlay()方法里用 mediaPlayer.pause();