2016-11-21 7 views
0

最初のアクティビティで作成したレコーディングを保存し、Androidアプリの2番目のアクティビティでレコーディングします。私はすべてを持っていると思いますが、最初のアクティビティを保存して2番目のアクティビティにアクセスする方法を見つけるように思われます。1つのアプリケーションにmp3レコーディングを保存して、もう1つのアクティビティでレコーディングを再生する方法

今のところ、ファイルが見つからないためアプリケーションがクラッシュします。レビューのための第1および第2の活動の一部を取り上げます。

この

は、ファイル・パスは、このファイルはあなたの最初の活動では、バック

private void playSound(boolean speakers) { 
     mContext = getApplicationContext(); 
     mFile = "files" + "/audio_test.3gp"; 
     audioManager.setSpeakerphoneOn(true); 
     try { 
      mp.setDataSource(mFile); 
     } catch (IOException e) { 
      e.printStackTrace(); 
+0

保存とファイルパスを取得することと同じでなければならない(または、いっそ、むしろ使用文字列の連結よりも、両方の場所でnew File(getFilesDir(), "audio_test.3gp")を使用します)。それが違う2番目のアクティビティであなたを確認してください。 –

答えて

0

を果たしている第二Activityからである

try{ 
    Log.i(log_tag,"Setting the recorder"); 
    speaker_recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    speaker_recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    speaker_recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
     speaker_recorder.setOutputFile(getFilesDir().getAbsolutePath() + "/audio_test.3gp"); 

    } catch(Exception e){ 
     Log.e(log_tag,"Recording Settings Failed"); 
     createTempFile("Status.txt", "COMPLETED-RECORDER FAILED"); 
    } 
    //Prepare the Recorder 
    try{ 
     Log.i(log_tag,"Preparing the Recorder"); 
     speaker_recorder.prepare(); 
    } catch(Exception e){ 
     Log.e(log_tag,"Recording failed"); 
     createTempFile("Status.txt", "COMPLETED-RECORDER FAILED"); 
     exit_function(); 
    } 

設定されている最初の活動から、あなたが持っています: 2つ目の活動で

getFilesDir().getAbsolutePath() + "/audio_test.3gp" 

、あなたが持っている:

"files" + "/audio_test.3gp"; 

これらは同じではありません。さらに、第2のものは正しくない。 2番目のアクティビティを変更して、同じロジックを使用して最初のアクティビティで使用したパスを派生させます。

+0

ありがとうございました! – Toby

関連する問題