ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î

Android Playing Audio from a web url
7³â Àü
http://upadhyayjiteshandroid.blogspot.kr/2013/01/android-playing-audio-from-web-url.html


¡¡

Please make a project with the name AudioDemo and make a main class with the name  AudioDemo.java and have the following code


package com.jitesh.audiodemo;

import java.io.IOException;

import android.app.Activity;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;

public class AudioDemo extends Activity implements

MediaPlayer.OnCompletionListener {
private static ProgressDialog progressDialog;
private ImageButton play;
private ImageButton pause;
private ImageButton stop;
private ImageButton replay;
private MediaPlayer mp;

@Override

public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

play = (ImageButton) findViewById(R.id.play);

pause = (ImageButton) findViewById(R.id.pause);
stop = (ImageButton) findViewById(R.id.stop);
replay = (ImageButton) findViewById(R.id.replay);

play.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
play();
}
});

pause.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
pause();
}
});

stop.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
stop();
}
});
replay.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
setup();
}
});

setup();

}

@Override

public void onDestroy() {
super.onDestroy();

if (stop.isEnabled()) {

stop();
}
}

public void onCompletion(MediaPlayer mp) {

stop();
}

private void play() {

Log.d("play", "reached");
mp.start();

play.setEnabled(false);

pause.setEnabled(true);
stop.setEnabled(true);
}

private void stop() {

Log.d("stop", "reached");
mp.stop();
pause.setEnabled(false);
stop.setEnabled(false);

try {

setup();
} catch (Throwable t) {
goBlooey(t);
}
}

private void pause() {

Log.d("pause", "reached");
mp.pause();

play.setEnabled(true);

pause.setEnabled(false);
stop.setEnabled(true);
}

private void loadClip() {

try {
mp = MediaPlayer.create(this, R.raw.clip);
mp.setOnCompletionListener(this);
} catch (Throwable t) {
goBlooey(t);
}
}

private void setup() {

try {
progressDialog = ProgressDialog.show(AudioDemo.this, "",
"Buffering audio...", true);
progressDialog.setCancelable(true);
mp = new MediaPlayer();
mp.setDataSource("http://www.virginmegastore.me/Library/Music/CD_001214/Tracks/Track1.mp3");
mp.prepareAsync();

mp.setOnPreparedListener(new OnPreparedListener() {

@Override
public void onPrepared(MediaPlayer mp) {
Log.d("first", "reached");
// mp.start();
progressDialog.dismiss();
}
});

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
play.setEnabled(true);
pause.setEnabled(false);
stop.setEnabled(false);
}

private void goBlooey(Throwable t) {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Exception!").setMessage(t.toString())

.setPositiveButton("OK", null).show();
}
}

the main.xml shoupd look like this

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="4dip" >

        <ImageButton

            android:id="@+id/play"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:paddingRight="4dip"
            android:src="@drawable/play" />

        <TextView

            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:text="Play"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="4dip" >

        <ImageButton

            android:id="@+id/pause"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="4dip"
            android:src="@drawable/pause" />

        <TextView

            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:text="Pause"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="4dip" >

        <ImageButton

            android:id="@+id/stop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="4dip"
            android:src="@drawable/stop" />

        <TextView

            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:text="Stop"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>
     <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="4dip" >

        <ImageButton

            android:id="@+id/replay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="4dip"
            android:src="@drawable/restart" />

        <TextView

            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:gravity="center_vertical"
            android:text="Replay"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

</LinearLayout>


do not foget to add the permission at manidest

<uses-permission android:name="android.permission.INTERNET" />
the screen shots are attached as follows

¡¡
¡¡

¡¡

¡¡
the used resources are give below as drawables.

¡¡

¡¡

¡¡

¡¡
¡¡
¡¡
¡¡
¡¡


Yo can download the audio from a link AudioDemo
ÃßõÃßõ : 278 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
217
MediaPlayer Ŭ·¡½º »ç¿ë¹ý
216
¾Èµå·ÎÀ̵忡¼­ audio player ½ÇÇàÇϱâ
215
[Android] MediaPlayer À½¾ÇÀç»ý±â ¸¸µé±â
214
Eclipse¿Í Android NDK ¿¬µ¿Çϱâ
213
Android Sliding Drawer Functionality ¾Èµå·ÎÀÌµå ½½¶óÀ̵ù µå·Î¿ì ¿¹Á¦ sample
212
Android Speech To Text
211
Android WebPageLoader with progress-bar
210
Android Text To Speech(TTS)
Android Playing Audio from a web url
208
Button height different from background height in Android image design
207
Android Getting Started with Material Design
206
Using toast inside timertask perfect
205
³×Æ®¿öÅ© »óÅ [Android]
204
Webview source [Android]
203
°øÀ¯ Intent [Android]
202
intent uri ¸ðÀ½ [Android]
201
http requestWebViewClient [Android]
200
ij½Ã »èÁ¦
199
ij½Ã Áö¿ì±â [Android]
198
¹Ù·ÎÇ®¾î(¼öÇÐ ¹®Á¦ ÁúÀÇÀÀ´ä SNS) ¿¡ »ç¿ëµÈ ¿ÀǼҽº ¶óÀ̺귯¸® [Android]
197
Webviw [Android]
196
¿ÀǼҽº ¶óÀ̺귯¸® ¸ðÀ½ [Android]
195
Android webview °³¹ß½Ã ¾Ë¾ÆµÖ¾ß ÇÒ °Íµé [Android]
194
webview µ¿¿µ»ó Àç»ý [Android]
193
[Android] Webview 404 ¿¡·¯ ó¸®
192
[Android] webview ssl ¹®Á¦
191
[Android] Webview url ¼û±â±â
190
[Android] AlarmManager ÀÏÁ¤½Ã°£ À̺¥Æ® ½ÇÇà
189
¾Èµå·ÎÀÌµå ¿ÀǼҽº ³¡ÆÇ
188
android studio DefaultHttpClient, HttpClient import ¿¡·¯
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.