2010-08-23 33 views
4

我發現代碼記錄,但我總是得到:Android的錄音

在類型MediaRecorder的方法setOutputFile(的FileDescriptor)不適用於參數(URI)

因此,如何將我需要描述它工作的文件路徑? THX

// Prepare recorder source and type 
MediaRecorder recorder = new MediaRecorder(); 
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

// File to which audio should be recorded 
File outputFile = getFileStreamPath("output.amr"); 
Uri target = Uri.parse(outputFile.getAbsolutePath()); 
recorder.setOutputFile(target); 

// Get ready! 
recorder.prepare(); 

// Start recording 
recorder.start(); 

// Stop and tidy up 
recorder.stop(); 
recorder.release(); 

回答

1

你試圖在一個開放的傳遞作爲參數傳遞給不期望的方法。 只是更換recorder.setOutputFile(target)

recorder.setOutputFile(outputFile.getAbsolutePath()); 

因爲字符串參數應工作是允許的。

+0

thx,多數民衆贊成它:) – 2010-08-23 20:19:11