Android Can';未安装SD驱动器时,请不要让媒体播放器正常工作

Android Can';未安装SD驱动器时,请不要让媒体播放器正常工作,android,Android,首先我打电话给 get_fullPathToAudio(); 确定下载音频文件的路径 public File get_fullPathToAudioAsFile() { File storageFile = this.getExternalFilesDir(null); if (storageFile == null) { // no external storage so store on priv

首先我打电话给

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();
使用

而不是

getExternalFilesDir(null);
返回安装我的应用程序的专用驱动器的路径。我可以在中看到文件 data/data/com.myapp/files/myfile.m4a

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

我得到的错误消息是

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

我这样解决了这个问题

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

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