MediareCorderクラスの問題を録音するための問題-PREPARE()は例外を与えます - 許可を拒否します

StackOverflow https://stackoverflow.com/questions/2970876

質問

私はAndroid開発が新しく、次の質問/問題があります。

MediareCorderクラスで遊んで、マイクからオーディオだけを録音しています。私は公式サイトに示されている手順に従っています: http://developer.android.com/reference/android/media/mediarecorder.html

したがって、記録を開始するためにMediareCorderオブジェクトを初期化および構成する方法があります。ここにコードがあります:


        //initializes audio recorder
        MediaRecorder mrecorder = new MediaRecorder();
        //configure the input sources
        mrecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        //set the output format
        mrecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        //set the audio encoding
        mrecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
        //specify the output file
        mrecorder.setOutputFile("/sdcard/test.3gp");
        //prepare for recording
        try {
            mrecorder.prepare();
        } catch (IllegalStateException e) { 
            e.printStackTrace();
            Log.d("Syso". e.toString());
        } catch (IOException e) { 
            e.printStackTrace();
            Log.d("Syso". e.toString());
        }

このコードをシミュレータで実行すると、LogCatのおかげで、メソッドがprepare()が呼び出されたときに例外を提供することがわかります。


java.io.FileNotFoundException: /sdcard/test.3gp (Permission denied)

そして、なぜこれが起こっているのか分かりません。例外のメッセージのために、XMLに次の行を追加することにより、ストレージにアクセスするためにマニフェストの権限を与えました。


<uses-permission android:name="android.permission.STORAGE" />

しかし、これは何も修正せず、私はまだ同じ例外を常に取得します。 SDCardはエミュレータに従って取り付けられているため、手がかりがありません。

役に立ちましたか?

解決

追加します write_external_storage AndroidManifest.xmlへの許可。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top