MediaPlayer仅播放2-3秒而不是完整的mp3

时间:2018-07-18 12:49:56

标签: android android-mediaplayer

有一个mp3文件,长度为20秒。

但是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文件。

1 个答案:

答案 0 :(得分:1)

我建议您看看这个post

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

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

只需更改此行:

MediaPlayer mediaPlayer = new MediaPlayer();

在:

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

在您维护方法时:

  

mediaPlayer =新的MediaPlayer();