0
我正在嘗試使用MediaRecorder將錄製的音頻從應用程序保存到存儲設備。Android文件訪問問題
當我使用內部存儲(/data/data/com.example.app/files)時,出現隨機MediaRecorder錯誤。通過將保存位置更改爲
String files_dir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myapp_audiofolder/";
這可以很好地工作,除了其他應用程序有權訪問此文件夾。例如,我的Google音樂應用程序在音樂列表中包含此文件夾中的音頻。
什麼是正確的方式來存儲這樣的數據,所以只有我的應用程序才能訪問它?
我曾嘗試過使用此,但我遇到問題,因爲MeidaRecorder的setOutputFile()接受一個字符串參數。有沒有解決的辦法?這是一般[code](http://developer.android.com/guide/topics/media/audio-capture.html)我一直在關注 – jchmski 2012-01-18 17:17:01
我查看了[MediaRecorder文檔](http:// developer .android.com/reference/android/media/MediaRecorder.html#setOutputFile(java.io.FileDescriptor)),它說你也可以用'FileDescriptor'調用'setOutputFile',所以你可以調用類似'setOutputFile fos.getFD())'(其中'fos'是我的答案中的'FileOutputStream') – 2012-01-18 17:22:55
謝謝! getFD()做了訣竅。播放文件使用類似的格式:FileInputStream fis = openFileInput(filename);然後mplayer.setDataSource(fis.getFD()); – jchmski 2012-01-18 17:33:46