2014-04-29 50 views
0

我想錄制音樂在我的應用程序中播放,比如我用聲音庫播放不同的聲音。現在我希望只有soundpool音頻是錄製並保存在.wav或mp3文件中。我使用音頻錄製來錄製聲音。Android錄製我們自己的應用程序的聲音

 AudioRecord audioRecord = new AudioRecord(AudioManager.STREAM_MUSIC, 
     44100, 
     AudioFormat.CHANNEL_IN_MONO, 
     AudioFormat.ENCODING_PCM_16BIT, 
     minBufferSize); 
    int minBufferSize = AudioRecord.getMinBufferSize(44100, 
     AudioFormat.CHANNEL_IN_MONO, 
     AudioFormat.ENCODING_PCM_16BIT); 

     short[] audioData = new short[minBufferSize]; 
    audioRecord.startRecording(); 

現在音頻正在錄音,但問題是質量有點不好,它們也是噪音。 現在我堅持好心幫助我。

回答

1

雖然我沒有找到我的問題的答案,但現在我正在使用技術錄製方面,我想與大家分享。當您嘗試在運行時嘗試保存由您的應用創建的音樂時,以上嘗試使用的功能是完全錯誤的選項。現在我的第一個版本,我只是將鋼琴按鈕的點擊和系統時間一起保存在一個數組中。現在,當我播放該點擊時,它將播放與用戶嘗試錄製相同的聲音。我將這些筆記保存在數據庫中供用戶進一步重用。儘管這不是解決方案,因爲這些筆記將僅在我們的應用程序中播放,但這是我們可以在我們的應用程序中添加的一個很好的功能。當我解決了確切的解決方案,我將與你們分享

0
button.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if(event.getAction()==MotionEvent.ACTION_DOWN){ 
        textView.setText("Recording started"); 
        startRecording(); 
       } 
       else if(event.getAction()==MotionEvent.ACTION_UP){ 
        textView.setText("Recording stopped"); 
        stopRecording(); 
       } 
       return false; 
      } 
     }); 
private void startRecording() { 
     mRecorder = new MediaRecorder(); 
     mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
     mRecorder.setOutputFile(mFileName); 
     mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

     try { 
      mRecorder.prepare(); 
     } catch (Exception e) { 

     } 

     mRecorder.start(); 
    } 

    private void stopRecording() { 
     mRecorder.stop(); 
     mRecorder.release(); 
     mRecorder = null; 
     uploadaudio(); 
    } 



You can add this code to record your sound in your application. 
+0

兄弟,這是很老的問題,我也嘗試這種方法,在那個時候,但他們是噪音在保存的申請周圍的,但我想只有那些保存我的應用正在播放的聲音。其實我想唱鼓演奏。 – yasiriqbal776

相關問題