android媒体播放器错误-21474833648对于长的.amr音频文件

问题描述

我正在尝试使用MediaPlayer类将音频文件加载/播放到我的android应用程序中。
可以从两个不同的来源加载文件:1.本地存储2. HTTP地址
当我加载长的.mp3文件(超过15分钟)时,它工作正常,但对于.amr文件,MediaPlayer无法播放超过4分钟的音频文件,并返回以下错误代码:-21474833648

让我说得更清楚:
在我的应用程序中,.mp3文件无论从任何资源和任何长度播放都没有问题。
长度为(大约)4分钟或更短的.amr文件也可以正常播放。
但是长的.amr音频文件(超过15分钟)带有未知的错误代码-21474833648。

NB:当我以20分钟的长度录制.amr格式的语音文件并尝试再次播放时,没有问题。但是,当我将其保存在本地存储中并尝试再次加载时,会出现错误

注意:我在Samsung S9 +和A50(android 10)中遇到此问题。我在android 9或更低版本中测试过的其他设备没有问题。

这个问题使我感到震惊,请帮助我解决它。
最后,我将提供部分代码

String url = "http://[my-domain]/audio.amr";  isPrepared=false;  

mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

try {
    mediaPlayer.setDataSource(url);
    mediaPlayer.prepareAsync();
} catch (Exception e) {
    e.printstacktrace();
    Log.d(TAG,"handleMediaPlayer: "+e);
}

mediaPlayer.setonPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        mediaPlayer.start();
        isPrepared =true;
        totalDuration = mediaPlayer.getDuration();
        playSeekbar.setMax(totalDuration);
        playSeekbar.setEnabled(true);
    }
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)