2013-02-06 49 views
0

找回我現在的儲蓄一些聲音通過媒體播放錄音:我在SD卡有一個聲音文件已經如何在Android的

private void startrecording() { 

     audiofile = getAudiofile(); 
     if (audiofile != null) 
      myaudiorecoreder = new MediaRecorder(); 
     myaudiorecoreder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     myaudiorecoreder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     myaudiorecoreder.setOutputFile(audiofile.getAbsolutePath()); 
     myaudiorecoreder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
     try { 
      myaudiorecoreder.prepare(); 
      setRecordstatus(true); 

     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     myrecordtextview.setText("RECORDING STARTED..SPEAK NOW"); 
     myaudiorecoreder.start(); 

// 其中的AudioFile會給聲音文件。 這裏是我從中獲取文件(空)的getAudiofile()的代碼。 //

private File getAudiofile() { 
     String extState = Environment.getExternalStorageState(); 
     if (extState.equals(Environment.MEDIA_MOUNTED)) { 
      File mediaStorageDir = new File(
        Environment.getExternalStorageDirectory() + "/TAUKY/AUDIO"); 
      if (!mediaStorageDir.exists()) { 
       if (!mediaStorageDir.mkdirs()) { 
        Log.e("SDCARD", "failed to create directory"); 
        Toast.makeText(getApplicationContext(), 
          "FAILED TO CREATE DIR", 0).show(); 
        return null; 
       } 
      } 
      String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss") 
        .format(new Date()); 
      mediaFile = new File(mediaStorageDir.getPath() + File.separator 
        + "SOUND_" + timeStamp + ".mp3"); 
      // Toast.makeText(getApplicationContext(), "FILE CREATION DONE", 
      // 0).show(); 

     } else { 
      Toast.makeText(getApplicationContext(), "NO SDCARD", 0).show(); 
     } 
     return mediaFile; 
    } 

現在就下活動如何從SD卡即/ TAUKY/AUDIO的特定文件夾檢索 感謝

+1

定義「檢索」。 –

+0

檢索意味着從特定文件夾中提取 – blackjack

回答

1

你的問題不是很清楚,但如果你要播放的文件在將其保存在SD卡中後,您可以執行此類操作,因爲您知道文件的路徑。

FileDescriptor fd = null; 
File baseDir = Environment.getExternalStorageDirectory(); 
String audioPath = baseDir.getAbsolutePath() + /TAUKY/AUDIO/SOUND_ + timeStamp + ".mp3"; 
FileInputStream fis = new FileInputStream(audioPath); 
fd = fis.getFD(); 

MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setDataSource(fd); 
mediaPlayer.prepare(); 
mediaPlayer.start(); 

我不是100%確定,因爲我無法測試它,但它應該是這樣的。希望這可以幫助。

+0

謝謝...它的工作原理 – blackjack

+0

爲什麼有人低估了答案?他說,它的工作 –

+0

可能不會爲他工作 – blackjack

相關問題