I am working on an Audio recording function. I want the recorded Audio to be saved into the internal cache directory of my app so that I can later process it and send it to my server. I have taken the RECORD_AUDIO_PERMISSION in my Android Manifest.
Below is the code I plan to use for recording audio and save it to a file.
String uuid = UUID.randomUUID().toString();
fileName = getExternalCacheDir().getAbsolutePath() + "/" + uuid + ".3gp";
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setOutputFile(fileName);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
recorder.prepare();
recorder.start();
} catch (IOException e) {}
I expect the above code to work fine but I am facing another issue. I want to create a Waveform effect for my app for which I am using this library. This library works with the below code:
//get reference to visualizer
mVisualizer = findViewById(R.id.blast);
//TODO: get the raw audio bytes
//pass the bytes to visualizer
mVisualizer.setRawAudioBytes(bytes);
Now, my question is how can I get the Bytes in real-time of the Audio which is being recorded and being saved? Should I read the file and extract recent bytes from it at regular intervals or is there any other method to achieve this.
Any help would be appreciated.
Thanks.
from Getting recent Bytes while recording Audio Android
No comments:
Post a Comment