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
- Android简单网络音乐播放器
- Android-简单音乐播放器
- Android简单音乐播放器
- android简单音乐播放器
- Android简单音乐播放器
- Android简单音乐播放器
- android简单音乐播放器
- 简单Android音乐播放器
- android播放网络音乐
- Android-简单播放器——播放( 应用程序、内存卡以及网络音乐)
- Android实现网络音乐播放器
- Android Mini音乐播放器[简单版本]
- Android--MediaPlayDemo简单的音乐播放器
- android-简单音乐播放器的总结
- android-----简单的音乐播放器
- android简单实现音乐播放器
- android 简单的音乐播放器
- 简单的android音乐播放器
- box-sizing常用的属性有哪些?分别有什么作用?
- 访问网络文件共享服务
- Java压缩算法性能比较
- 基本数据类型和引用数据类型的参数传递
- java使用一维数组输出杨辉三角
- Android简单网络音乐播放器
- FFmpeg总结(十)用ffmpeg进行在视频中加水印图、加gif图
- Linux运维笔记-文档总结-diff命令和修补命令patch介绍
- 【matlab】设置绘图的大小,字号,线宽,字体--按投稿要求
- 对浏览器内核的理解?
- Linux下的那些环境变量
- Delphi常用系统函数总结
- [a, b]区间内找到一些数满足可以被一个整数c整除
- catch that cow(简单bFS)抓牛 POJ