java - android 媒体播放器中的完成监听器

标签 java android

我想一个接一个地播放 MediaPlayer,我可以获取第一个文件但无法获取剩余的文件...

这段代码是否正确...

private void playRecording()  {

    player = new MediaPlayer();

    player.setOnCompletionListener(new OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
            player.stop();
            if (i < numberOfFiles) {

                i++;
                playAudio(Environment.getExternalStorageDirectory()
                        .getAbsolutePath()
                        + "/android"
                        + i
                        + ".3gp");
            }else i=0;
        }


    });
    player.start();

播放音频:

  private void playAudio(String filename) {
      try {
      player.setDataSource(filename); 
      player.prepare();
      player.start();
  } catch (Exception e) { 
      // TODO Auto-generated catch block
      e.printStackTrace(); 
      } 
      }

最佳答案

更改 OnCompletionListener 如下:

player.setOnCompletionListener(new OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            // TODO Auto-generated method stub
            mp.stop();
            mp.release();
            if (i < numberOfFiles) {
                i++;
 String path=Environment.getExternalStorageDirectory() .getAbsolutePath()+ "/android"+"/"+i+".3gp";
           playAudio(path);
            }
            else i=0;
        }

关于java - android 媒体播放器中的完成监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008591/

相关文章:

java - 枚举相同(不同语言)类

android - 启动布局检查器时为 "Error obtaining view hierarchy: Unexpected error: empty view hierarchy"

android - 如何在停止时再次启动相同的音频

java - For 循环未在 Java 中运行

java - 无法向 iOs 设备发送通知

android - 在android中定义自定义复选框

android - 解析数组列表时出错

android - 将文件与 Android 应用程序 bundle 在一起,并允许稍后进行其他下载

java - 增加堆栈空间,独立于机器 - Java

javascript - Selenium 中通过 jQuery 生成获取元素