2011-09-23 51 views
1

我想在我的應用程序中錄製一些音頻。 我打開錄音機的結果意圖。但結果,我的數據爲空。 我錯過了什麼? 以下是我的代碼提前音頻錄製返回null

public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    Intent intent = 
    new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 
    startActivityForResult(intent, RQS_RECORDING); 
    }}); 
    } 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
// TODO Auto-generated method stub 
if(requestCode == RQS_RECORDING){ 
    savedUri = data.getData(); 
    Toast.makeText(AndroidIntentAudioRecording.this, 
    "Saved: " + savedUri.getPath(), 
    Toast.LENGTH_LONG).show(); 
} 
} 
} 

感謝

回答

0

我有這個問題,稍後有問題我根據this tutorial編寫了自己的錄音機應用程序。它對我來說就像是一種魅力,記錄器甚至作爲我爲他開發的應用程序中的附件提供給客戶。

0

請重置您的ADB How to attach back the Android emulator to ADB?,有時會發生,我們可以從模擬器查看略圖,但在現實中是不存在的

編輯

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
// TODO Auto-generated method stub 
if(requestCode == RQS_RECORDING){ 
    savedUri = data.getData(); 
     String[] path = {MediaStore.Audio.Media.RECORD_SOUND_ACTION}; 
      Cursor c = getContentResolver().query(savedUri, path,null, null, null); 
      c.moveToFirst(); 
      int columnIndex = c.getColumnIndex(path[0]); 
      String _path = c.getString(columnIndex); 
      c.close(); 
      System.out.println("path::::"+_path); 
    Toast.makeText(AndroidIntentAudioRecording.this, 
    "Saved: " + _path, 
    Toast.LENGTH_LONG).show(); 
} 
+0

這不是關於adb。我正在使用設備。當我打開錄音機時,它會記錄並保存在設備上。當我打回按鈕,它的結果來了,但意圖數據爲空 – WISH

+0

看到我編輯的代碼,並嘗試 –

+0

在這種情況下,savedUri爲空,因爲data.getdata()返回null。正如我所提到的那樣,當控件返回到活動時,我將數據作爲空值 – WISH