之前看到网页版的网易音乐播放控件, 正好在一个开源学习项目中需要简单的音乐播放功能。所以想是不是可以封装一个音乐播放控件,提供一个类似网易播放控件的默认界面,而且提供更换界面的功能。使用时,只需要去设计界面, 而不用再去管音乐播放的逻辑,所以就实现了一个简单的音乐播放控件。
音乐播放控件(MiniMusicView) 使用方法:
1.使用默认的界面
(1) 在你的布局中加入 MiniMusicVIEw
<com.hrb.library.MiniMusicVIEw androID:ID="@+ID/mmv_music" app:isLoadLayout="true" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" />
(2) 设置音乐地址并播放音乐
mMusicVIEw = (MiniMusicVIEw) findVIEwByID(R.ID.mmv_music); mMusicVIEw.setTitleText("music name"); mMusicVIEw.setAuthor("singer name"); mMusicVIEw.startPlayMusic("music url"); // Or through the new way to create vIEw object // mMusicVIEw = new MiniMusicVIEw(this); // mMusicVIEw.initdefaultview(); // mMusicVIEw.setTitleText("music name"); // mMusicVIEw.startPlayMusic("music url");
(3) 停止音乐播放
@OverrIDe protected voID onDestroy() { mMusicVIEw.stopPlayMusic(); super.onDestroy(); }
效果图如下:
2.使用自定义布局
(1) 在你的布局中加入 MiniMusicVIEw
<com.hrb.library.MiniMusicVIEw androID:ID="@+ID/mmv_music" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" />
(2) 设置自定义布局,设置音乐地址,播放音乐
mMusicVIEw = (MiniMusicVIEw) findVIEwByID(R.ID.mmv_music); VIEw vIEw = VIEw.inflate(CustomActivity.this,R.layout.layout_custom_music,null); TextVIEw Title = (TextVIEw) vIEw.findVIEwByID(R.ID.tv_music_play_Title); Title.setText("music name"); mMusicVIEw.addVIEw(vIEw); mMusicVIEw.startPlayMusic("music url"); // Or through the new way to create vIEw object // mMusicVIEw = new MiniMusicVIEw(this); // mMusicVIEw.addVIEw(vIEw); // mMusicVIEw.startPlayMusic("music url");
效果图如下:
(3) MiniMusicVIEw 还提供音乐状态的回调监听接口
mMusicVIEw.setonMusicStateListener(new MiniMusicVIEw.OnMusicStateListener() { @OverrIDe public voID onPrepared(int duration) { Log.i(TAG,"start prepare play music"); } @OverrIDe public voID onError() { Log.i(TAG,"start play music error"); } @OverrIDe public voID onInfo(int what,int extra) { Log.i(TAG,"start play_mini_music music info"); } @OverrIDe public voID onMusicPlayComplete() { Log.i(TAG,"start play music completed"); } @OverrIDe public voID onSeekComplete() { Log.i(TAG,"seek play music completed"); } @OverrIDe public voID onProgressUpdate(int duration,int currentPos) { Log.i(TAG,"play music progress update"); } @OverrIDe public voID onheadsetPullOut() { Log.i(TAG,"headset pull out"); } });
你可以在相应的监听中去完成需要的行为, 例如要实现当耳机拔出,实现音乐播放停止, 可以在onheadsetPullOut()接口中调用mMusicVIEw.pausePlayMusic() 暂停音乐播放。
另外,MiniMusicVIEw如何在工程中使用和源码可以从这里获取,大家可以根据需要进行修改, 如果使用中有BUG请留言,不胜感激.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
您可能感兴趣的文章:Android使用Service实现简单音乐播放实例Android版音乐播放器android实现音乐播放器进度条效果教你轻松制作Android音乐播放器android暂停或停止其他音乐播放器的播放实现代码Android编程开发音乐播放器实例Android简易音乐播放器实现代码Android MediaPlayer实现音乐播放器实例代码android音乐播放器监听电话状态实现代码android实现背景音乐播放功能 总结以上是内存溢出为你收集整理的Android实现简单音乐播放控件全部内容,希望文章能够帮你解决Android实现简单音乐播放控件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)