使用录音机录制音频,然后将其上传到服务器 android
Record audio using recorder and then upload that on server android
我正在尝试在我的应用程序中录制音频
在按钮上按下
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent, ACTIVITY_RECORD_SOUND);
但它给我错误
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.provider.MediaStore.RECORD_SOUND }
但是当我从 Play 商店安装任何录音机时,这个错误就消失了,但是在录制音频之后它没有 return 任何东西。它留在录音机上 window .
还有我必须写些什么来获取音频文件并将其上传到服务器
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
}
But it is giving me error
Android 设备不需要具有响应 Intent
操作的 activity。
when i install any sound recorder from play store this error is gone but after recording the audio it does not return anything . It stay on the recorder window .
那个应用程序显然有一个错误。
also what i have to write to get that audio file and upload it to the server
引用the documentation for RECORD_SOUND_ACTION
,输出为"An uri to the recorded sound stored in the Media Library if the recording was successful"。 IOW,在传送到 onActivityResult()
的 Intent
上调用 getData()
,这应该是指向录制音频的 Uri
。请注意,这不一定代表文件系统上的文件,更不用说您可以访问的文件了。
您可以使用下面的代码。
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setOutputFile(path);
// recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); for mp3 audio
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.prepare();
recorder.start();
路径可以是文件 exists.for 中的任何内容,例如
path = Environment.getExternalStorageDirectory() + "/Android/data/" + context.getApplicationContext().getPackageName() + "/files/" + "myrecording.m4a";
我正在尝试在我的应用程序中录制音频 在按钮上按下
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent, ACTIVITY_RECORD_SOUND);
但它给我错误
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.provider.MediaStore.RECORD_SOUND }
但是当我从 Play 商店安装任何录音机时,这个错误就消失了,但是在录制音频之后它没有 return 任何东西。它留在录音机上 window .
还有我必须写些什么来获取音频文件并将其上传到服务器
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
}
But it is giving me error
Android 设备不需要具有响应 Intent
操作的 activity。
when i install any sound recorder from play store this error is gone but after recording the audio it does not return anything . It stay on the recorder window .
那个应用程序显然有一个错误。
also what i have to write to get that audio file and upload it to the server
引用the documentation for RECORD_SOUND_ACTION
,输出为"An uri to the recorded sound stored in the Media Library if the recording was successful"。 IOW,在传送到 onActivityResult()
的 Intent
上调用 getData()
,这应该是指向录制音频的 Uri
。请注意,这不一定代表文件系统上的文件,更不用说您可以访问的文件了。
您可以使用下面的代码。
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setOutputFile(path);
// recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); for mp3 audio
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.prepare();
recorder.start();
路径可以是文件 exists.for 中的任何内容,例如
path = Environment.getExternalStorageDirectory() + "/Android/data/" + context.getApplicationContext().getPackageName() + "/files/" + "myrecording.m4a";