我的耳機中央按鈕出現問題。 我想要做的是記錄聲音,而耳機按鈕被按下。一旦按鈕被釋放,錄音停止。 這裏是我的代碼:使用耳機按鈕錄製聲音
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (TextView) findViewById(R.id.text);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HEADSETHOOK && shouldContinue == true) {
shouldContinue = false;
text.setText("KEY DOWN");
audioRecorder = new MediaRecorder();
audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
audioRecorder
.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
audioRecorder
.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
audioRecorder.setOutputFile(Environment
.getExternalStorageDirectory().getAbsolutePath()
+ "/test.3gp");
try {
audioRecorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
audioRecorder.start();
}
return false;
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HEADSETHOOK) {
text.setText("KEY UP");
audioRecorder.stop();
audioRecorder.release();
shouldContinue=true;
}
return false;
}
的問題是,當我認爲我的耳機按鈕,麥克風莫名其妙地禁止和它導致一個空的聲音文件,但不持有該按鈕(如果我的onCreate移動audioRecorder代碼,例如)一切工作正常(聲音被記錄)。
所有我想知道是否有可能錄製聲音與中央耳機按鈕按下,或者它的硬件問題,我無能爲力。
但是,如果我們使用microusb頭戴式耳機,可以做些什麼嗎? – AnD