大佬教程收集整理的这篇文章主要介绍了android – 使用耳机按钮录制声音,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@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代码),一切正常(录制声音).
所有我想知道是否可以在按下中置耳机按钮的情况下录制声音,或者它是硬件问题而我无能为力.
Android耳机插孔有4个连接:Tip = LeftAudio,Ring = RightAudio,Ring2 = Ground,Sleeve = Mic. (我可能有Ring2& Ground反转). HeadsetHook按钮通过短接Ring2和Sleeve发送信号.因此,按下它会使麦克风短路,这就解释了为什么要录制静音.吮吸.不能做Push@R_776_10586@lk.
一个选项是在onKeyDown上开始录制,并在再次单击时停止录制.即使这不是直截了当的,因为如果按下按钮的时间足够长,你将获得多个onKeyDowns.因此,跳过onKeyDown并使用onKeyUp.它避免了“Google Now”MediaButton的麻烦.就像是…
Boolean recording = false; // don't need to override onKeyDown() @Override public Boolean onKeyUp(int keyCode,KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HEADSETHOOK) { if (recording) stopAndSaveRecording(); else startRecording(); recording = ! recording; } return true; }
请注意,您将在结束点击期间录制静音.
以上是大佬教程为你收集整理的android – 使用耳机按钮录制声音全部内容,希望文章能够帮你解决android – 使用耳机按钮录制声音所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。