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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...