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 ドライブにないオーディオ ファイルを再生する別の方法はありますか?

私が得るエラーメッセージは

error(-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 に答える