私のデバイスがオーディオを正しく録音しているかどうかを確認しようとしています(録音されたオーディオの音量が低すぎず、実際に録音されたファイルに音があります)。私はそれをやってみました方法は次のとおりです。Android - サウンドの録音と音量の確認
スタート記録 - >停止記録 - - >サウンドを再生>ファイルには、最大音量
私は音を記録するために使用されるコードを記録します:
public void playSound() {
File myDataPath = new File(getActivity().getFilesDir().getAbsolutePath()
+ File.separator + ".CheckAudio");
if (!myDataPath.exists())
myDataPath.mkdirs();
recordFile = myDataPath + File.separator + "Recording_" + new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date()) + ".mp3";
am.setStreamVolume(AudioManager.STREAM_RING, am.getStreamMaxVolume(AudioManager.STREAM_RING), 0);
am.setStreamVolume(AudioManager.STREAM_NOTIFICATION, am.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION), 0);
Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
try {
md = new MediaRecorder();
md.setAudioSource(MediaRecorder.AudioSource.MIC);
md.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
md.setOutputFile(recordFile);
md.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
md.prepare();
md.start();
} catch (IllegalStateException | IOException e) {
recording = false;
removeItem("Unable to record audio, please try again."); // (Show toast)
return;
}
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(getActivity(), defaultRingtoneUri);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
mediaPlayer.prepare();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
md.stop();
md.release();
mediaPlayer.release();
mediaPlayer = null;
// get recordfile volume
}
});
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
removeItem("Unable to play audio");
sound = false;
}
}
しかし、私は作成されたmp3ファイルを分析し、それが空でないか(サウンドから)、ライブラリや別の方法があるかどうかを調べることができませんか?
私はあなたの英語がかなり悪いので、達成しようとしていることを理解してくれることを祈っています。
EDIT:(いくつかのより多くのexplaination) マイクからの音を録音しているときは、音(着信音か何か)を再生した場合、記録デシベルは約90デシベルでなければなりません。音の演奏とマイクを意味しますが、約30デシベルがマイクのみが作動していて、サウンドが再生されていない場合は、デシベルがゼロ付近にあればマイクは作動しません。
まずあなたが作成されたファイルを見つけることができますgithubの上のソースコードを見つけることができますか?あなたはあなたとは別のアプリケーションでそれを開き、そのサウンドが実際に録音されているかどうか確認できますか? –
@ GeorgeD私は同じアプリケーションでそれをやりたいのですが、他のことが起こっている間にバックグラウンドでこれを行うことはオプションです。私は、私が(答えの最後に)見つけたいと思っているものについてさらにいくつかの情報を加えました。ありがとう。 – DAVIDBALAS1
私はあなたが同じアプリケーションからそれをしたいと思っていますが、ちょうどそのままにしておいて、あなたのデバイスに存在する別のアプリケーションからファイルを開き、実際に何かを記録しているかどうかを確認してください。レコーディング機能が正しく実装されているかどうかを確認します。 –