【问题标题】:MediaPlayer plays only 2-3 seconds not full mp3MediaPlayer 只播放 2-3 秒而不是完整的 mp3
【发布时间】:2018-07-18 21:06:22
【问题描述】:

有 20 秒长的 mp3 文件。

MediaPlayer 只播放 2-3 秒。

我正在使用以下代码从原始文件播放 mp3。

try{
        AssetFileDescriptor afd = getApplicationContext().getResources().openRawResourceFd(R.raw.buzzer6);
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
                @Override
                public void onPrepared(MediaPlayer mp){
                      mp.start();
                }
        });
        mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
        afd.close();
        mediaPlayer.prepare();
} catch (IOException ioe) {
        ioe.printStackTrace();
}

那么问题是什么?

我想播放 20 秒的完整 mp3 文件。

【问题讨论】:

    标签: android android-mediaplayer


    【解决方案1】:

    我建议你看看这个post

    基本上,如果您尝试将 MediaPlayer 的范围扩大为实例变量,它应该可以工作

    (在示例中声明为静态,您可能不需要将其声明为静态)

    只需更改这一行:

    MediaPlayer mediaPlayer = new MediaPlayer();
    

    在:

    private MediaPlayer mediaPlayer //is an instance variable not a local one
    

    同时进入你维护的方法:

    mediaPlayer = new MediaPlayer();

    【讨论】:

      猜你喜欢
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      相关资源
      最近更新 更多