Android简单网络音乐播放器

来源:互联网 发布:深圳市金软网络骗局 编辑:程序博客网 时间:2024/06/05 19:22

音乐播放需要调用service,在此,只是简单梳理播放流程。

public class PlayMusicService extends Service {    //绑定服务 调用服务的方法。    @Override    public IBinder onBind(Intent intent) {        return null;    }}
<LinearLayout 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:orientation="vertical"    tools:context=".MainActivity" >    <EditText        android:text="http://192.168.1.100:8080/hd.mp3"        android:id="@+id/et_path"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="请输入要播放文件的路径" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <Button            android:id="@+id/bt_play"            android:onClick="play"            android:layout_width="0dip"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="播放" />        <Button              android:id="@+id/bt_pause"            android:onClick="pause"            android:layout_width="0dip"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="暂停" />        <Button              android:id="@+id/bt_stop"            android:onClick="stop"            android:layout_width="0dip"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="停止" />        <Button              android:id="@+id/bt_replay"            android:onClick="replay"            android:layout_width="0dip"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="重播" />    </LinearLayout></LinearLayout>
public class MainActivity extends Activity {    private EditText et_path;    private MediaPlayer mediaPlayer;    private Button bt_play,bt_pause,bt_stop,bt_replay;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_path = (EditText) findViewById(R.id.et_path);        bt_play = (Button) findViewById(R.id.bt_play);        bt_pause = (Button) findViewById(R.id.bt_pause);        bt_stop = (Button) findViewById(R.id.bt_stop);        bt_replay = (Button) findViewById(R.id.bt_replay);    }    /**     * 播放     * @param view     */    public void play(View view) {        String filepath = et_path.getText().toString().trim();        //http://        if(filepath.startsWith("http://")){            try {                mediaPlayer = new MediaPlayer();                mediaPlayer.setDataSource(filepath);//设置播放的数据源。                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);                //mediaPlayer.prepare();//同步的准备方法。                mediaPlayer.prepareAsync();//异步的准备                mediaPlayer.setOnPreparedListener(new OnPreparedListener() {                    @Override                    public void onPrepared(MediaPlayer mp) {                        mediaPlayer.start();                        bt_play.setEnabled(false);                    }                });                mediaPlayer.setOnCompletionListener(new OnCompletionListener() {                    @Override                    public void onCompletion(MediaPlayer mp) {                        bt_play.setEnabled(true);                    }                });            } catch (Exception e) {                e.printStackTrace();                Toast.makeText(this, "播放失败", 0).show();            }        }else{            Toast.makeText(this, "请检查文件的路径", 0).show();        }    }    /**     * 暂停     * @param view     */    public void pause(View view) {        if("继续".equals(bt_pause.getText().toString())){            mediaPlayer.start();            bt_pause.setText("暂停");            return;        }        if(mediaPlayer!=null&&mediaPlayer.isPlaying()){            mediaPlayer.pause();            bt_pause.setText("继续");        }    }    /**     * 停止     * @param view     */    public void stop(View view) {        if(mediaPlayer!=null&&mediaPlayer.isPlaying()){            mediaPlayer.stop();            mediaPlayer.release();            mediaPlayer = null;        }        bt_pause.setText("暂停");        bt_play.setEnabled(true);    }    /**     * 重播     * @param view     */    public void replay(View view) {        if(mediaPlayer!=null&&mediaPlayer.isPlaying()){            mediaPlayer.seekTo(0);        }else{            play(view);        }        bt_pause.setText("暂停");    }}

参考:
Android音频、视频

0 0
原创粉丝点击