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);}}
更多文章:
三星手机在中国没人买(为什么三星在国内销售惨淡,在国外却销量大增原因是什么)
2023年7月1日 23:30
vostro3400没有声音(我的是dell vostro 3400视频的时候我可以听到对方的声音,对方却听不到我的声音求答案)
2024年7月22日 09:58
同城二手交易平台电脑(58同城赶集网上的二手笔记本电脑怎么样)
2024年7月18日 02:16
惠普搜索主页面怎么换皮肤?惠普笔记本电脑开机黑屏,无法进入主界面,该怎么修
2024年7月6日 14:43
联想f31主板(联想F31用了不到一个月主板就坏了,救命啊~~泪奔)
2024年5月5日 21:56
m1芯片有必要16g吗(搭载M1芯片的MacBook Pro选8G内存够吗)
2023年10月14日 07:35
三星笔记本电脑处理器(三星老笔记本CPUI3370能互换I5580吗)
2024年7月10日 12:58
联想e430能玩什么游戏(Thinkpad e430配置如何,能玩大型游戏吗)
2024年7月20日 11:35
联想z475有没有蓝牙功能(联想z475 蓝牙怎么用有驱动吗)
2023年11月30日 15:10
联想小新打印机m7218w(联想lenovo小新m7218w激光打印机一体机复印扫描手机wifi无线 怎么样)
2023年12月31日 16:15