首页 > 解决方案 > 从外部存储播放 3gp 文件时,AndroidMedia Player 中出现错误 (1,-2147483648),该文件首先使用 MediaRecorder 录制

问题描述

获取 E/MediaPlayer: Error (1,-2147483648) 时尝试播放 android MediaPlayer。已获得许可,文件格式为 3gp。我一直在尝试在我的代码中应用对此主题的答案,但没有解决问题。

   player = new MediaPlayer();
            File file = new File(filePath);
            file.setReadable(true,false);
            FileInputStream inputStream = new FileInputStream(file);
            player.setDataSource(inputStream.getFD());

            inputStream.close();

            player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                        mp.start();
                        flag=true;
                }


            });
            player.prepareAsync();

标签: androidandroid-studioandroid-mediaplayerandroid-mediarecorder

解决方案


改变线的顺序如下

player = new MediaPlayer();
File file = new File(filePath);
file.setReadable(true,false);
FileInputStream inputStream = new FileInputStream(file);
player.setDataSource(inputStream.getFD());

inputStream.close();
player.prepareAsync();

player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
            mp.start();
            flag=true;
    }


});

推荐阅读