亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錄音機狀態無效(文件路徑錯誤?)

錄音機狀態無效(文件路徑錯誤?)

慕妹3146593 2022-01-12 14:50:15
我有一個我正在嘗試制作的錄音機來測試它,看看它是如何工作的。但是,當我運行它時,我得到了錯誤:E/MediaRecorder: start called in an invalid state: 4所以我做了一些 googlejitzu 并發現我的文件路徑是錯誤的。這是我的代碼:final MediaRecorder recorder = new MediaRecorder();    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);    recorder.setOutputFile("Test");    System.out.println("Hello");    try {        recorder.prepare();    } catch (IOException e) {        e.printStackTrace();    }    recorder.start();    CountDownTimer countDownTimer = new CountDownTimer(30000, 1000) {        @Override        public void onTick(long l) {        }        @Override        public void onFinish() {            recorder.stop();        }    }.start();所以我想我想知道如何在手機上創建一個文件路徑目錄來保存音頻。錯誤是:    11-11 01:49:48.275 23703-23703/com.example.arege.dayatalisten W/System.err: java.io.FileNotFoundException: Test: open failed: EROFS (Read-only file system)11-11 01:49:48.276 23703-23703/com.example.arege.dayatalisten W/System.err:     at libcore.io.IoBridge.open(IoBridge.java:455)        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:247)        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:128)        at android.media.MediaRecorder.prepare(MediaRecorder.java:834)        at com.example.arege.dayatalisten.ListeningToTheWorld.onStartCommand(ListeningToTheWorld.java:47)        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3432)        at android.app.ActivityThread.-wrap21(ActivityThread.java)        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1633)        at android.os.Handler.dispatchMessage(Handler.java:102)        at android.os.Looper.loop(Looper.java:154)        at android.app.ActivityThread.main(ActivityThread.java:6316)我有兩個必需的權限。
查看完整描述

1 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

您正在嘗試寫入您的應用程序無權訪問的內部存儲。它不是根設備。


您需要將文件寫入外部存儲。


使用:(getFilesDir() or getExternalFilesDir()在 Context 或 Activity 上)獲取目錄并將文件寫入該位置。


偽代碼:


File file = new File(context.getFilesDir(), "Test");

FileOutputStream outputStream = new FileOutputStream(file);

outputStream.write("contents".getBytes());

outputStream.close();


查看完整回答
反對 回復 2022-01-12
  • 1 回答
  • 0 關注
  • 277 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號