Android Audio Recording -
i'm trying develop android app need user voice recording. see many code nothing work me.it open didn't record anything.
here code:
package com.example.record8; import java.io.file; import java.io.ioexception; import android.app.activity; import android.content.contentresolver; import android.content.contentvalues; import android.content.intent; import android.media.mediarecorder; import android.net.uri; import android.os.bundle; import android.os.environment; import android.provider.mediastore; import android.util.log; import android.view.view; import android.widget.toast; public class mainactivity extends activity { mediarecorder recorder; file audiofile = null; private static final string tag = "soundrecordingactivity"; private view startbutton; private view stopbutton; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); startbutton = findviewbyid(r.id.btnstart); stopbutton = findviewbyid(r.id.btnstop); } public void startrecording(view view) throws ioexception { startbutton.setenabled(false); stopbutton.setenabled(true); file sampledir = environment.getexternalstoragedirectory(); try { audiofile = file.createtempfile("sound", ".3gp", sampledir); } catch (ioexception e) { log.e(tag, "sdcard access error"); return; } recorder = new mediarecorder(); recorder.setaudiosource(mediarecorder.audiosource.mic); recorder.setoutputformat(mediarecorder.outputformat.three_gpp); recorder.setaudioencoder(mediarecorder.audioencoder.amr_nb); recorder.setoutputfile(audiofile.getabsolutepath()); recorder.prepare(); recorder.start(); } public void stoprecording(view view) { startbutton.setenabled(true); stopbutton.setenabled(false); recorder.stop(); recorder.release(); addrecordingtomedialibrary(); } protected void addrecordingtomedialibrary() { contentvalues values = new contentvalues(4); long current = system.currenttimemillis(); values.put(mediastore.audio.media.title, "audio" + audiofile.getname()); values.put(mediastore.audio.media.date_added, (int) (current / 1000)); values.put(mediastore.audio.media.mime_type, "audio/3gpp"); values.put(mediastore.audio.media.data, audiofile.getabsolutepath()); contentresolver contentresolver = getcontentresolver(); uri base = mediastore.audio.media.external_content_uri; uri newuri = contentresolver.insert(base, values); sendbroadcast(new intent(intent.action_media_scanner_scan_file, newuri)); toast.maketext(this, "added file " + newuri, toast.length_long).show(); } }
here xml:
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <textview android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <button android:id="@+id/btnstart" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignleft="@+id/textview1" android:layout_below="@+id/textview1" android:layout_marginleft="45dp" android:layout_margintop="48dp" android:text="@string/startrecording" /> <button android:id="@+id/btnstop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignleft="@+id/btnstart" android:layout_below="@+id/btnstart" android:layout_margintop="52dp" android:text="@string/stoprecording" /> <button android:id="@+id/btnformat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnstop" android:layout_centerhorizontal="true" android:layout_margintop="75dp" android:text="@string/audio_format" />
i don't know why dosen't record.
you can check link,
http://androidcodeexamples.blogspot.in/2012/06/voice-recording-in-android.html
i have implemented audio recording blog , it's working fine also.
and make sure have below 2 permission in android manifest file while implementing this.
<uses-permission android:name="android.permission.record_audio"/> <uses-permission android:name="android.permission.write_external_storage"/>
also can download source code visiting below link
https://www.dropbox.com/s/rhcswyht20xhud2/android%20audio%20recording.zip
hope you.
Comments
Post a Comment