Back to project page SpeechWriter.
The source code is released under:
MIT License
If you think the Android project SpeechWriter listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package edu.psu.rcy5017.speechwriter.controller; // w w w . j a v a 2s . com import java.io.IOException; import edu.psu.rcy5017.speechwriter.constant.MiscConstants; import android.media.MediaPlayer; import android.media.MediaRecorder; import android.util.Log; /** * A controller for recording and playing audio files. * Used: https://developer.android.com/guide/topics/media/audio-capture.html as example. * @author Ryan Yosua * */ public enum AudioCntl { INSTANCE; private final String TAG = "AudioCntl"; private MediaRecorder recorder; private MediaPlayer player; /** * Starts playing an audio recording. * @param fileName the name of the file to play ex: "/testRecording.3gp" */ public void startPlaying(String fileName) { player = new MediaPlayer(); try { player.setDataSource(MiscConstants.FILE_DIRECTORY + fileName + MiscConstants.AUDIO_EXTENSION); player.prepare(); player.start(); } catch (IOException e) { Log.d(TAG, "prepare() failed"); } } /** * Stops playing the audio recording. */ public void stopPlaying() { player.release(); player = null; } /** * Starts recording an audio recording. * @param fileName the name of the file to record ex: "/testRecording.3gp" */ public void startRecording(String fileName) { recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setOutputFile(MiscConstants.FILE_DIRECTORY + fileName + MiscConstants.AUDIO_EXTENSION); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); Log.d(TAG, MiscConstants.FILE_DIRECTORY + fileName + MiscConstants.AUDIO_EXTENSION); try { recorder.prepare(); } catch (IOException e) { Log.d(TAG, "prepare() failed"); } recorder.start(); } /** * Stops recording the audio recording. */ public void stopRecording() { recorder.stop(); recorder.release(); recorder = null; } }