Hej, 현재 AudioRecord를 작동 시키려고합니다. 왜냐하면 나는 더 큰 프로젝트에서 그것을 필요로하기 때문이다. 그러나 그것은 많이 엉망진창 같다. 나는 많은 것들을 시도해 왔기 때문에이 버그를 추적했을 때 나는 기본으로 돌아갔다. 디버깅 장치로 삼성 Galaxy S를 사용하고 있습니다.Android AudioRecord - 두 번째로 초기화하지 않습니다.
제 문제는 장치를 처음 재부팅 한 후 처음으로 문제없이 만들 수있는 AudioRecord 개체를 초기화 할 수 있다는 것입니다. 하지만 두 번째 실행하면 AudioRecord 객체가 초기화되지 않습니다. 여러 주파수를 시도했습니다. 여기
내 코드입니다. 내가 "를 가지 audiorecord에 기본 보류를 해제하는 것이 이벤트02-28 10:46:37.048: DEBUG/dalvikvm(4477): GC_EXPLICIT freed 1801 objects/98944 bytes in 97ms
02-28 10:46:37.048: VERBOSE/AudioRecord(4477): stop
에게 발견 로그 캣 정보를 통해보고 몇 시간 후
package android.audiorecordtest;
import android.app.Activity;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class AudioRecordTest extends Activity {
int frequency;
AudioRecord audRec;
TextView txtVw;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtVw = (TextView) findViewById(R.id.txtVw);
frequency=8000;
int bufferSize=(AudioRecord.getMinBufferSize(frequency, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT))*2;
if (bufferSize>0) {
audRec = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize);
int status = audRec.getState();
if (status == AudioRecord.STATE_INITIALIZED) {
txtVw.setText("Initialized" + frequency);
} else {
txtVw.setText("Not Initialized i=" + frequency);
}
}
그래서 나는 내 Audiorecord object.release()로 마무리 오버라이드를 시도했다.이 비록 작동하지 않습니다 .. 누구나 어떤 생각이있어?
내가 아무도 어떤 답이없는 이유를 정말 너희들이 문제를 재현 할 수 없기 때문에 그 것이다, 궁금 해서요, 또는 사람들은 방해 할 수 없기 때문에 도움을하거나 다음과 같이 당신은 그것을 사용할 수 있습니다 ? –
이것에 걸림돌이되는 사람은 기록 허가를 받았는지 확인하십시오! – NateS
@NateS 만약 당신이 레코드 권한을 가지고 있지 않다면 심지어 처음에는 내 질문에 제목이 명확하게 나와있는 것처럼 초기화되지 않을 것입니다. 그렇지만 누군가가 첫 번째 초기화 시도에 문제가있는 경우 AndroidManifest.xml에서 권한을 확인해야합니다. –