Pilih Laman

sumber : http://agusharyanto.net/wordpress/?p=1013&cpage=1#comment-3556

Mari kita mulai.

  1. Buat Project baru dengan nama “RadioStreaming”
  2. Sekarang mari kita siapkan layout user interfacenya,  Edit activity_main.xml lalu ketikan kode berikut.
01 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
02     xmlns:tools="http://schemas.android.com/tools"
03     android:layout_width="match_parent"
04     android:layout_height="match_parent"
05     android:paddingBottom="@dimen/activity_vertical_margin"
06     android:paddingLeft="@dimen/activity_horizontal_margin"
07     android:paddingRight="@dimen/activity_horizontal_margin"
08     android:paddingTop="@dimen/activity_vertical_margin"
09     tools:context=".MainActivity" >
10
11     <TextView
12         android:id="@+id/textViewRadioUrl"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:layout_alignParentLeft="true"
16         android:layout_alignParentTop="true"
17         android:text="<span class="intexthighlight" style="color: rgb(26, 117, 255); line-height: normal;"phasehl="metakeyword:en-US" id="tRJeP">Radio</span> Url" />
18
19     <Button
20         android:id="@+id/buttonPlay"
21         android:layout_width="wrap_content"
22         android:layout_height="wrap_content"
23         android:layout_alignLeft="@+id/progressBar1"
24         android:layout_below="@+id/progressBar1"
25         android:layout_marginTop="14dp"
26         android:text="Play" />
27
28     <ProgressBar
29         android:id="@+id/progressBar1"
30         style="?android:attr/progressBarStyleHorizontal"
31         android:layout_width="wrap_content"
32         android:layout_height="wrap_content"
33         android:layout_alignLeft="@+id/textViewRadioUrl"
34         android:layout_alignParentRight="true"
35         android:layout_below="@+id/textViewRadioUrl"
36         android:layout_marginTop="14dp"
37         android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
38         android:indeterminateOnly="false"
39         android:maxHeight="20dip"
40         android:minHeight="20dip"
41         android:progressDrawable="@android:drawable/progress_horizontal" />
42
43     <Button
44         android:id="@+id/buttonStop"
45         android:layout_width="wrap_content"
46         android:layout_height="wrap_content"
47         android:layout_alignBaseline="@+id/buttonPlay"
48         android:layout_alignBottom="@+id/buttonPlay"
49         android:layout_toRightOf="@+id/buttonPlay"
50         android:text="Stop" />
51
52 </RelativeLayout>

3. Sekarang kita melangkah ke otak dari aplikasi radio streaming ini, edit class MainActivity.java lalu ketikan kode berikut

001 package net.agusharyanto.radiostreaming;
002
003 import java.io.IOException;
004
005 import android.app.Activity;
006 import android.media.MediaPlayer;
007 import android.media.MediaPlayer.OnBufferingUpdateListener;
008 import android.media.MediaPlayer.OnPreparedListener;
009 import android.os.Bundle;
010 import android.util.Log;
011 import android.view.View;
012 import android.view.View.OnClickListener;
013 import android.widget.Button;
014 import android.widget.ProgressBar;
015 import android.widget.TextView;
016
017 public class MainActivity extends Activity implements OnClickListener {
018
019     private String url_radio= "http://usa8-vn.mixstream.net:8138";
020     private ProgressBar playSeekBar;
021
022     private TextView tvRadioUrl;
023     private Button buttonPlay;
024
025     private Button buttonStopPlay;
026
027     private MediaPlayer player;
028
029     /** Called when the activity is first created. */
030     @Override
031     public void onCreate(Bundle savedInstanceState) {
032         super.onCreate(savedInstanceState);
033         setContentView(R.layout.activity_main);
034
035         initializeUIElements();
036
037         initializeMediaPlayer();
038     }
039
040     private void initializeUIElements() {
041
042         playSeekBar = (ProgressBar) findViewById(R.id.progressBar1);
043         playSeekBar.setMax(100);
044         playSeekBar.setVisibility(View.INVISIBLE);
045         playSeekBar.setIndeterminate(true);
046         buttonPlay = (Button) findViewById(R.id.buttonPlay);
047         buttonPlay.setOnClickListener(this);
048
049         buttonStopPlay = (Button) findViewById(R.id.buttonStop);
050         buttonStopPlay.setEnabled(false);
051         buttonStopPlay.setOnClickListener(this);
052         tvRadioUrl = (TextView) findViewById(R.id.textViewRadioUrl);
053         tvRadioUrl.setText("Radio url : "+url_radio);
054     }
055
056     public void onClick(View v) {
057         if (v == buttonPlay) {
058             startPlaying();
059         else if (v == buttonStopPlay) {
060             stopPlaying();
061         }
062     }
063
064     private void startPlaying() {
065         buttonStopPlay.setEnabled(true);
066         buttonPlay.setEnabled(false);
067
068         playSeekBar.setVisibility(View.VISIBLE);
069
070         player.prepareAsync();
071
072         player.setOnPreparedListener(new OnPreparedListener() {
073
074             public void onPrepared(MediaPlayer mp) {
075
076                 player.start();
077
078             }
079         });
080
081     }
082
083     private void stopPlaying() {
084         if (player.isPlaying()) {
085             player.stop();
086             player.release();
087             initializeMediaPlayer();
088         }
089
090         buttonPlay.setEnabled(true);
091         buttonStopPlay.setEnabled(false);
092         playSeekBar.setIndeterminate(true);
093         playSeekBar.setVisibility(View.INVISIBLE);
094
095     }
096
097     private void initializeMediaPlayer() {
098         player = new MediaPlayer();
099         try {
100             player.setDataSource(url_radio);
101         catch (IllegalArgumentException e) {
102             e.printStackTrace();
103         catch (IllegalStateException e) {
104             e.printStackTrace();
105         catch (IOException e) {
106             e.printStackTrace();
107         }
108
109         player.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
110
111             public void onBufferingUpdate(MediaPlayer mp, int percent) {
112                  playSeekBar.setIndeterminate(false);
113                 playSeekBar.setSecondaryProgress(100);
114                 Log.i("Buffering""" + percent);
115             }
116         });
117     }
118
119     @Override
120     protected void onPause() {
121         super.onPause();
122         if (player.isPlaying()) {
123           //  player.stop();
124         }
125     }
126
127 }

4. Jangan lupa karena aplikasi kita menggunakan jaringan internet maka kita harus menambahkan permission internet pada AndroidManifest.xml

01 <?xml version="1.0" encoding="utf-8"?>
02 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
03     package="net.agusharyanto.radiostreaming"
04     android:versionCode="1"
05     android:versionName="1.0" >
06
07     <uses-sdk
08         android:minSdkVersion="8"
09         android:targetSdkVersion="17" />
10
11   <uses-permission android:name="android.permission.INTERNET"></uses-permission>
12
13     <application
14         android:allowBackup="true"
15         android:icon="@drawable/ic_launcher"
16         android:label="@string/app_name"
17         android:theme="@style/AppTheme" >
18         <activity
19             android:name="net.agusharyanto.radiostreaming.RadioActivity"
20             android:label="@string/app_name" >
21             <intent-filter>
22                 <action android:name="android.intent.action.MAIN" />
23
24                 <category android:name="android.intent.category.LAUNCHER" />
25             </intent-filter>
26         </activity>
27     </application>
28
29 </manifest>

5. Saatnya menjalankan project RadioStreaming yang telah kita buat.

Klik Button Play tunggu beberapa saat dan dari handphone anda akan terdengar suara siaran Radio.

Nah Gampangkan buatnya, ayoo semangat. Yang lagi skripsi tingkatkan semangat dan usahanya, semoga bisa cepat selesai jangan ditunda-tunda lagi.

Untuk yang sudah sukses dengan tutorial ini bisa mencoba tantangannya dengan membuat aplikasi Radio streaming yang bisa memainkan lebih dari 1 station radio

Semoga Bermanfaat