audio recorder(如何使用 AudioRecorder 中的录制音频Android)
本文目录
- 如何使用 AudioRecorder 中的录制音频Android
- audio recorder现在录音文件存在哪个目录
- 请教如何将audiorecorder录音文件导出
- audiorecorder怎么用
- audio recorder怎么用
如何使用 AudioRecorder 中的录制音频Android
试试这个......public class Audio_Record extends Activity {private static final int RECORDER_SAMPLERATE = 8000;private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;private AudioRecord recorder = null;private Thread recordingThread = null;private boolean isRecording = false;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setButtonHandlers(); enableButtons(false); int bufferSize = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING); }private void setButtonHandlers() { ((Button) findViewById(R.id.btnStart)).setOnClickListener(btnClick); ((Button) findViewById(R.id.btnStop)).setOnClickListener(btnClick);}private void enableButton(int id, boolean isEnable) { ((Button) findViewById(id)).setEnabled(isEnable);}private void enableButtons(boolean isRecording) { enableButton(R.id.btnStart, !isRecording); enableButton(R.id.btnStop, isRecording);}int BufferElements2Rec = 1024; // want to play 2048 (2K) since 2 bytes we use only 1024int BytesPerElement = 2; // 2 bytes in 16bit formatprivate void startRecording() { recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING, BufferElements2Rec * BytesPerElement); recorder.startRecording(); isRecording = true; recordingThread = new Thread(new Runnable() { public void run() { writeAudioDataToFile(); } }, "AudioRecorder Thread"); recordingThread.start();} //convert short to byteprivate byte sData) { int shortArrsize = sData.length; byte; for (int i = 0; i 《 shortArrsize; i++) { bytes & 0x00FF); bytes 》》 8); sData = 0; } return bytes;}private void writeAudioDataToFile() { // Write the output audio in byte String filePath = "/sdcard/voice8K16bitmono.pcm"; short sData; FileOutputStream os = null; try { os = new FileOutputStream(filePath); } catch (FileNotFoundException e) { e.printStackTrace(); } while (isRecording) { // gets the voice output from microphone to byte format recorder.read(sData, 0, BufferElements2Rec); System.out.println("Short wirting to file" + sData.toString()); try { // // writes the data to file from buffer // // stores the voice buffer byte bData = short2byte(sData); os.write(bData, 0, BufferElements2Rec * BytesPerElement); } catch (IOException e) { e.printStackTrace(); } } try { os.close(); } catch (IOException e) { e.printStackTrace(); }}private void stopRecording() { // stops the recording activity if (null != recorder) { isRecording = false; recorder.stop(); recorder.release(); recorder = null; recordingThread = null; }}private View.OnClickListener btnClick = new View.OnClickListener() { public void onClick(View v) { switch (v.getId()) { case R.id.btnStart: { enableButtons(true); startRecording(); break; } case R.id.btnStop: { enableButtons(false); stopRecording(); break; } } }};@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { finish(); } return super.onKeyDown(keyCode, event);}}
audio recorder现在录音文件存在哪个目录
录音时mic(自己)和speaker(对方)是分开录的,路径在/var/mobile/Library/Application Support/UltimateCallRecorder需要导出到邮件时由程序把两个文件合成成为一个文件。发送或者取消发送后合成的录音文件会被删除,所以要在删除之前提取出来。方法:录音后打开audio recorder程序,点一下你要导出的录音文件,再点左上角的分享按钮,然后agree,就会出现mail的图标,用户可以通过mail分享。此时不要点mail图标,按home键后台,打开ifile,打开var/tmp路径,发现里面会有两个m4a的文件,这两个文件是一样的,随便备份一个出来就好了。备份好了就可以回到程序取消发送邮件了。
请教如何将audiorecorder录音文件导出
将audiorecorder录音文件导出的方法 一.前提是手机越狱了,并下载安装好Audio Recorder这个插件,并有录音文件。只要点击recorder进去看一下有没有文件就知道了。 二.利用【PP助手】,打开助手之后,连接上手机,并点击【文件】。 三.点击【文件】之后,再点击【文件系统(越狱)】,这里需要要注意一下,一定是点击【文件系统(越狱)】,并不是第一个【文件系统(用户)】哦。 四.接着就是在右边的文件夹中,找到【var】这个文件夹,并双击进入。 五.在【var】文件夹中找到【mobile】文件夹,并双击【mobile】。 六.在【mobile】中找到【Documents】文件夹,并双击【Documents】。 七.双击【AudioRecorder】。 八.所有录音文件都在这里了。不过要注意,callSpeaker才是录音的原文件,只要把callSpeaker的录音文件导出来就可以使用了。当然,导出的格式是caf,这时大家可以通过一些转换工具,把caf的格式转换成mp3就可以了。
audiorecorder怎么用
录音时mic(自己)和speaker(对方)是分开录的,路径在/var/mobile/Library/Application Support/UltimateCallRecorder需要导出到邮件时由程序把两个文件合成成为一个文件。发送或者取消发送后合成的录音文件会被删除,所以要在删除之前提取出来。方法:录音后打开audio recorder程序,点一下你要导出的录音文件,再点左上角的分享按钮,然后agree,就会出现mail的图标,用户可以通过mail分享。此时不要点mail图标,按home键后台,打开ifile,打开var/tmp路径,发现里面会有两个m4a的文件,这两个文件是一样的,随便备份一个出来就好了。备份好了就可以回到程序取消发送邮件了。
audio recorder怎么用
试试这个......public class Audio_Record extends Activity {private static final int RECORDER_SAMPLERATE = 8000;private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;private AudioRecord recorder = null;private Thread recordingThread = null;private boolean isRecording = false;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);setButtonHandlers();enableButtons(false);int bufferSize = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING); }private void setButtonHandlers() {((Button) findViewById(R.id.btnStart)).setOnClickListener(btnClick);((Button) findViewById(R.id.btnStop)).setOnClickListener(btnClick);}private void enableButton(int id, boolean isEnable) {((Button) findViewById(id)).setEnabled(isEnable);}private void enableButtons(boolean isRecording) {enableButton(R.id.btnStart, !isRecording);enableButton(R.id.btnStop, isRecording);}int BufferElements2Rec = 1024; // want to play 2048 (2K) since 2 bytes we use only 1024int BytesPerElement = 2; // 2 bytes in 16bit formatprivate void startRecording() {recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,RECORDER_SAMPLERATE, RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING, BufferElements2Rec * BytesPerElement);recorder.startRecording();isRecording = true;recordingThread = new Thread(new Runnable() {public void run() {writeAudioDataToFile();}}, "AudioRecorder Thread");recordingThread.start();}//convert short to byteprivate byte sData) {int shortArrsize = sData.length;byte;for (int i = 0; i 《 shortArrsize; i++) {bytes & 0x00FF);bytes 》》 8);sData = 0;}return bytes;}private void writeAudioDataToFile() {// Write the output audio in byteString filePath = "/sdcard/voice8K16bitmono.pcm";short sData;FileOutputStream os = null;try {os = new FileOutputStream(filePath);} catch (FileNotFoundException e) {e.printStackTrace();}while (isRecording) {// gets the voice output from microphone to byte formatrecorder.read(sData, 0, BufferElements2Rec);System.out.println("Short wirting to file" + sData.toString());try {// // writes the data to file from buffer// // stores the voice bufferbyte bData = short2byte(sData);os.write(bData, 0, BufferElements2Rec * BytesPerElement);} catch (IOException e) {e.printStackTrace();}}try {os.close();} catch (IOException e) {e.printStackTrace();}}private void stopRecording() {// stops the recording activityif (null != recorder) {isRecording = false;recorder.stop();recorder.release();recorder = null;recordingThread = null;}}private View.OnClickListener btnClick = new View.OnClickListener() {public void onClick(View v) {switch (v.getId()) {case R.id.btnStart: {enableButtons(true);startRecording();break;}case R.id.btnStop: {enableButtons(false);stopRecording();break;}}}};@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {finish();}return super.onKeyDown(keyCode, event);}}
更多文章:
华硕k550d屏幕是多少针(华硕笔记本 k550d怎么样啊)
2023年10月23日 01:50
平板电脑新品(苹果将直接上架新款iPad Pro,搭载M2芯片,哪些信息值得关注)
2024年7月21日 14:28
联想n480主板型号(哪位高人知道!想为笔记本加一个内存条,不知道什么内存条合适原装内存信息:记忆科技 DDR3 1600MHz 2G)
2024年10月22日 14:35
三星13寸笔记本(电脑三星900x3d的u盘第一启动项怎么改)
2024年8月11日 10:20
华硕驱动更新卡在55(华硕ROG主板开机55不显示,REST之后可以进入)
2024年1月27日 04:10
win10开机一直在bios循环(win10无限重启bios)
2024年9月30日 16:50
联想g460 20041(联想G460 20041的配置怎样求教高手解答!)
2024年5月4日 02:25
外星人官网怎么分期(有谁在官网用招行的信用卡分期购买外星人的)
2023年11月10日 13:41