Android开发音乐播放器,如何实现单曲循环,顺序播放,随机播放,全部循环功能,高分求助

最好举例说明,给个源码什么的

第1个回答  推荐于2018-02-28
MediaPlayer 对象调用setLooping(true);是循环播放。
顺序播放,随机播放,全部循环功能 这些就是自己写方法实现就好了,
顺序播放就是当一首歌播放完后,在播放列表中找到它下一首歌的ID,直到全部完成。
随机播放就是当一首歌播放完后,在播放列表中随机抽取一首歌的ID(排除已经播放),直到全部完成。
全部循环就是顺序播放全部歌曲,到最后一首之后从第一首播放。本回答被网友采纳
第2个回答  2011-06-27
用数组,有多少个歌就写个随机数,给播放的索引 就能随机了
第3个回答  推荐于2016-01-01
随机播放
1015 private void toggleShuffle() {
1016 if (mService == null) {
1017 return;
1018 }
1019 try {
1020 int shuffle = mService.getShuffleMode();
1021 if (shuffle == MediaPlaybackService.SHUFFLE_NONE) {
1022 mService.setShuffleMode(MediaPlaybackService.SHUFFLE_NORMAL);
1023 if (mService.getRepeatMode() == MediaPlaybackService.REPEAT_CURRENT) {
1024 mService.setRepeatMode(MediaPlaybackService.REPEAT_ALL);
1025 setRepeatButtonImage();
1026 }
1027 showToast(R.string.shuffle_on_notif);
1028 } else if (shuffle == MediaPlaybackService.SHUFFLE_NORMAL ||
1029 shuffle == MediaPlaybackService.SHUFFLE_AUTO) {
1030 mService.setShuffleMode(MediaPlaybackService.SHUFFLE_NONE);
1031 showToast(R.string.shuffle_off_notif);
1032 } else {
1033 Log.e("MediaPlaybackActivity", "Invalid shuffle mode: " + shuffle);
1034 }
1035 setShuffleButtonImage();
1036 } catch (RemoteException ex) {
1037 }
1038 }
1039

循环播放
1040 private void cycleRepeat() {
1041 if (mService == null) {
1042 return;
1043 }
1044 try {
1045 int mode = mService.getRepeatMode();
1046 if (mode == MediaPlaybackService.REPEAT_NONE) {
1047 mService.setRepeatMode(MediaPlaybackService.REPEAT_ALL);
1048 showToast(R.string.repeat_all_notif);
1049 } else if (mode == MediaPlaybackService.REPEAT_ALL) {
1050 mService.setRepeatMode(MediaPlaybackService.REPEAT_CURRENT);
1051 if (mService.getShuffleMode() != MediaPlaybackService.SHUFFLE_NONE) {
1052 mService.setShuffleMode(MediaPlaybackService.SHUFFLE_NONE);
1053 setShuffleButtonImage();
1054 }
1055 showToast(R.string.repeat_current_notif);
1056 } else {
1057 mService.setRepeatMode(MediaPlaybackService.REPEAT_NONE);
1058 showToast(R.string.repeat_off_notif);
1059 }
1060 setRepeatButtonImage();
1061 } catch (RemoteException ex) {
1062 }
1063
1064 }

其实应该就是参数设置的问题,兄弟建议你参考 android music的代码。比如MediaPlaybackActivity.java,网上也可以搜到这个类。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网