我有两个按钮,一个用于开始录制,另一个用于停止录制.
我在录制声音和存储在sdcard中获得成功:
现在我想要的是,如果我在15秒之前按下停止按钮,我应该保持原样,但是如果录制时间超过15秒,它将自动停止录制并将录制的文件存储在SD卡中:
我的录音代码在这里:
**
public voID startRecording(VIEw vIEw) throws IOException { startbutton.setEnabled(false); stopbutton.setEnabled(true); file sampleDir = Environment.getExternalStorageDirectory(); try { //audiofile = file.createTempfile("sound", ".aac", sampleDir); audiofile = file.createTempfile("sound", ".m4a", sampleDir); } catch (IOException e) { Log.e(TAG, "sdcard access error"); return; } recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setoutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); recorder.setoutputfile(audiofile.getabsolutePath()); recorder.prepare(); recorder.start(); }
**
而停止记录是
public voID stopRecording(VIEw vIEw) { startbutton.setEnabled(true); stopbutton.setEnabled(false); recorder.stop(); recorder.release(); }
我该怎么办 ?
解决方法:
基本上,您将需要为此实现TiMetask.
if (vIEw.getID() == R.ID.stop) { new Timer().schedule(new TimerTask() { @OverrIDe public voID run() { runOnUiThread(new Runnable() { @OverrIDe public voID run() { mediaRecorder.stop(); mediaRecorder.reset(); mediaRecorder.release(); } }); } }, 15000); <-- Execute code after 15000 ms i.e after 15 Seconds. }
总结 以上是内存溢出为你收集整理的在android中记录特定时间段的语音全部内容,希望文章能够帮你解决在android中记录特定时间段的语音所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)