0

首先我打电话给

get_fullPathToAudio();

确定音频文件的下载路径。

public File get_fullPathToAudioAsFile()
    {       
        File storageFile = this.getExternalFilesDir(null);
        if (storageFile == null)
        {
            // no external storage so store on private path
            storageFile =  this.getFilesDir();
        }
        return storageFile;
    }
    public String get_fullPathToAudio() {

        return get_fullPathToAudioAsFile() + File.separator +  this.get_currentArticleAudioFileName();
    }


String filePath = this.myApp.get_fullPathToAudio();
                mediaPlayer.setDataSource(filePath);
                mediaPlayer.prepare();
                mediaPlayer.start();

如果我的模拟器上有 SD 驱动器,一切都很好,但是当我没有模拟器时,该功能

get_fullPathToAudioAsFile();

用途

getFilesDir();

代替

getExternalFilesDir(null);

它返回安装我的应用程序的私有驱动器的路径。我可以在 data/data/com.myapp/files/myfile.m4a 中看到该文件

例如。如果音频文件不在 SD 驱动器上,是否有其他播放方式?

我得到的错误信息是

错误(-1,-2147483648)无法打开文件 null 进行播放

4

1 回答 1

0

我这样解决了

FileInputStream fileInputStream = new FileInputStream(mFile);
mPlayer.setDataSource(fileInputStream.getFD());         
mPlayer.prepare();

在内部存储上播放文件时 MediaPlayer 错误 -2147483648

于 2013-02-10T22:53:01.450 回答