Membuat Aplikasi Perekam Suara di Android Dengan Eclipse IDE

No comments
sesuai judul postingan kali ini tentang tutorial pembuatan aplikasi perekam suara deng eclispe di android, denagn memanfaatkan class MediaRecorder yang sudah ada di Android SDK.
kita tinggal memanggil class MediaRecorder untuk bisa merekam suara atau video. langsung aja yaa...
pertama buat prokject baru di Eclipse dan beri nama AudioCapture, set target API ke yang paling baru
  • Aplication Name : Audio Capture
  • Project Name : com.coba.AudioCapture
  • Target SDK : 17 API
lalu ubah MainActivity.java seperti di bawah ini
package com.coba.audiocapture; 
 
import java.io.File; 
import java.io.IOException; 
 
import android.media.MediaPlayer; 
import android.media.MediaRecorder; 
import android.os.Bundle; 
import android.os.Environment; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 
 
public class MainActivity extends Activity { 
 
   private MediaRecorder myAudioRecorder; 
   private String outputFile = null; 
   private Button start,stop,play; 
   @Override 
   protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      start = (Button)findViewById(R.id.button1); 
      stop = (Button)findViewById(R.id.button2); 
      play = (Button)findViewById(R.id.button3); 
 
      stop.setEnabled(false);       
      play.setEnabled(false); 
      outputFile = Environment.getExternalStorageDirectory(). 
      getAbsolutePath() + "/myrecording.3gp";; 
 
      myAudioRecorder = new MediaRecorder(); 
      myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
      myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
      myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); 
      myAudioRecorder.setOutputFile(outputFile); 
 
   } 
 
   public void start(View view){ 
      try { 
         myAudioRecorder.prepare(); 
         myAudioRecorder.start(); 
      } catch (IllegalStateException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
      } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
      } 
      start.setEnabled(false); 
      stop.setEnabled(true); 
      Toast.makeText(getApplicationContext(), "Mulai Merekam", 
    Toast.LENGTH_LONG).show(); 
 
   } 
 
   public void stop(View view){ 
      myAudioRecorder.stop(); 
      myAudioRecorder.release(); 
      myAudioRecorder  = null; 
      stop.setEnabled(false); 
      play.setEnabled(true); 
      Toast.makeText(getApplicationContext(), "Merekam Suara Berhenti", 
      Toast.LENGTH_LONG).show(); 
   } 
   @Override 
   public boolean onCreateOptionsMenu(Menu menu) { 
      getMenuInflater().inflate(R.menu.main, menu); 
      return true; 
   } 
   public void play(View view) throws IllegalArgumentException,    
   SecurityException, IllegalStateException, IOException{ 
    
   MediaPlayer m = new MediaPlayer(); 
   m.setDataSource(outputFile); 
   m.prepare(); 
   m.start(); 
   Toast.makeText(getApplicationContext(), "Memutar Rekaman", 
Toast.LENGTH_LONG).show(); 
 
   } 
 
} 
lalu untuk tampilannya ubah activity_main.xml yang ada di layout seperti di bawah ini
<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:layout_alignParentLeft="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 
      android:layout_marginTop="32dp" 
      android:text="@string/Recording" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 
 
   <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:layout_below="@+id/textView1" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="37dp" 
      android:scaleType="fitXY" 
      android:src="@android:drawable/presence_audio_online" /> 
 
   <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/imageView1" 
      android:layout_marginTop="67dp" 
      android:layout_toLeftOf="@+id/imageView1" 
      android:onClick="start" 
      android:text="@string/start" /> 
 
   <Button 
      android:id="@+id/button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBaseline="@+id/button1" 
      android:layout_alignBottom="@+id/button1" 
      android:layout_alignRight="@+id/textView1" 
      android:layout_marginRight="40dp" 
      android:onClick="stop" 
      android:text="@string/stop" /> 
 
   <Button 
      android:id="@+id/button3" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/button2" 
      android:layout_centerHorizontal="true" 
      android:onClick="play" 
      android:text="@string/play" />  
</RelativeLayout> 
terus ubah string.xml menjadi sperti ini
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
   <string name="app_name">AudioCapture</string> 
   <string name="action_settings">Settings</string> 
   <string name="hello_world">Hello world!</string> 
   <string name="Recording">Aplikasi Perekaman Suara</string> 
   <string name="start">start</string> 
   <string name="stop">stop</string> 
   <string name="play">play</string> 
 
</resources> 
yang terakhir AndroidManifest.xml menjadi seperti di bawah ini
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
   package="com.coba.audiocapture" 
   android:versionCode="1" 
   android:versionName="1.0" > 
 
   <uses-sdk 
      android:minSdkVersion="10" 
      android:targetSdkVersion="17" /> 
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
   <uses-permission android:name="android.permission.RECORD_AUDIO" />  
 
   <application 
      android:allowBackup="true" 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme" > 
      <activity 
         android:name="com.coba.audiocapture.MainActivity" 
         android:label="@string/app_name" > 
         <intent-filter> 
            <action android:name="android.intent.action.MAIN" /> 
 
            <category android:name="android.intent.category.LAUNCHER" /> 
         </intent-filter> 
      </activity> 
   </application> 
 
</manifest> 
waktunya test sambungkan smartphone agan ke PC jangan lupa USB Debug nya di nyalain, terus run as android aplication di eclipse nya...
cukup segini dlulu, maaf kalo banyak kekurangan dalam postingan ini. semoga postingan ini bermanfaat....

No comments :

Post a Comment

Aplikasi Kirim SMS Sederhana dengan Eclipse

No comments
hi gusy......whats up.....whats down....!!! hehe kayak uus aja....
Kali ini saya mau nulis tentang tutorial buat aplikasi kirim sms di android, buat kalian yang udah expert di android ini bukan potingan yang cocok buat kalian. potingan ini diperuntukan buat kalian yang baru belajar pemrogramman android kayak saya.....
kenapa gak bikin di android studio? jujur aja saya gak paham cara pakek android studio hehe....

langsung aja buka eclipsee dan buat project baru....kasih nama aplikasi sama projectnya bebas target sdk nya Android sdk 17.
pertama buat MainActivity.java ubah menjadi seperti dibawah:
package com.example.sendsmsdemo; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.telephony.SmsManager; 
import android.util.Log; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 
 
public class MainActivity extends Activity { 
 
 Button sendBtn; 
 EditText txtphoneNo; 
 EditText txtMessage; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 
 sendBtn = (Button) findViewById(R.id.btnSendSMS); 
 txtphoneNo = (EditText) findViewById(R.id.editTextPhoneNo); 
 txtMessage = (EditText) findViewById(R.id.editTextSMS); 
 
 sendBtn.setOnClickListener(new View.OnClickListener() { 
 public void onClick(View view) { 
 sendSMSMessage(); 
 } 
 }); 
 } 
 protected void sendSMSMessage() { 
 Log.i("Send SMS", ""); 
 
 String phoneNo = txtphoneNo.getText().toString(); 
 String message = txtMessage.getText().toString(); 
 
 try { 
 SmsManager smsManager = SmsManager.getDefault(); 
 smsManager.sendTextMessage(phoneNo, null, message, null, null); 
 Toast.makeText(getApplicationContext(), "SMS sent.", 
 Toast.LENGTH_LONG).show(); 
 } catch (Exception e) { 
 Toast.makeText(getApplicationContext(), 
 "SMS faild, please try again.", 
 Toast.LENGTH_LONG).show(); 
 e.printStackTrace(); 
 } 
 } 
 @Override 
 public boolean onCreateOptionsMenu(Menu menu) { 
 // Inflate the menu; this adds items to the action bar if it is present. 
 getMenuInflater().inflate(R.menu.main, menu); 
 return true; 
 } 
}
terus untuk tampilanya ubah activity_main.xml yang ada di layout seperti dibawah ini:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 
 
   <TextView 
   android:id="@+id/textViewPhoneNo" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:text="@string/phone_label" /> 
 
   <EditText 
   android:id="@+id/editTextPhoneNo" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" 
   android:inputType="phone"/> 
 
   <TextView 
   android:id="@+id/textViewMessage" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:text="@string/sms_label" /> 
 
   <EditText 
   android:id="@+id/editTextSMS" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" 
   android:inputType="textMultiLine"/> 
 
   <Button android:id="@+id/btnSendSMS" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content"    
   android:text="@string/send_sms_label"/> 
 
</LinearLayout>
terus ubah string.xml yang ada di value menjadi seperti di bawah
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
 <string name="app_name">SendSMSDemo</string> 
 <string name="action_settings">Settings</string> 
 <string name="hello_world">Hello world!</string> 
 <string name="phone_label">Enter Phone Number:</string> 
 <string name="sms_label">Enter SMS Message:</string> 
 <string name="send_sms_label">Send SMS</string> 
 
</resources> 
terakhir ubah AndroidManifest.xml  menjadi seperti dibawah ini:
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
 package="com.example.sendsmsdemo" 
 android:versionCode="1" 
 android:versionName="1.0" > 
 
 <uses-sdk 
 android:minSdkVersion="8" 
 android:targetSdkVersion="17" /> 
 <uses-permission android:name="android.permission.SEND_SMS" /> 
 
 <application 
 android:allowBackup="true" 
 android:icon="@drawable/ic_launcher" 
 android:label="@string/app_name" 
 android:theme="@style/AppTheme" > 
 <activity 
 android:name="com.example.sendsmsdemo.MainActivity" 
 android:label="@string/app_name" > 
 <intent-filter> 
 <action android:name="android.intent.action.MAIN" /> 
 
 <category android:name="android.intent.category.LAUNCHER" /> 
 </intent-filter> 
 </activity> 
 </application> 
 
</manifest> 
nah waktunya test aplikasi sederhana kita di devices android jangan lupad di nyalain USB Debug nya biar bisa di pasang dari Eclipse, coba buat kirim SMS.....
segini aja dulu, maaf kalo tulisanya amburadul.....semoga potingan ini bermanfaat.....selamat mencoba.

No comments :

Post a Comment