繁体   English   中英

歌曲结束后,随机播放按钮停止应用程序

[英]Shuffle Button Stops App When Song Finishes

因此,我几乎完成了我的项目,并且需要通过随机播放按钮提供最后的帮助。

     @Override
        public void onCompletion(MediaPlayer mp1) {
        try { 
           if(isRepeat == true) {
              mp.start();
           }
           else if(isShuffle == true) {
                mp.reset();
                Random rand = new Random();
                SONG_NUMBER = rand.nextInt((songs.size() - 1) - 0 + 1) + 0;
                mp.setDataSource(SD_PATH + songs.get(SONG_NUMBER));
                mp.start();
           }
            else
            {   
            mp.reset();
            SONG_NUMBER += 1;
            mp.setDataSource(SD_PATH + songs.get(SONG_NUMBER));
            mp.prepare();
            mp.start();
            }
            play.setEnabled(false);
            pause.setEnabled(true);
            stop.setEnabled(true);
            next.setEnabled(true);
            prev.setEnabled(true);
            replay.setEnabled(true);
            shuffle.setEnabled(true);
        } 
        catch(IOException e) {
            Log.v(getString(R.string.app_name), e.getMessage());
        }

 }

单击随机播放按钮时,它将isShuffle设置为true但是当歌曲结束时,音乐播放器将完全停止。 任何人都可以帮忙吗?

logcat的:

10-27 12:00:51.858: W/SignalStrength(724): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:51.859: W/SignalStrength(566): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:51.859: W/SignalStrength(671): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:51.861: W/SignalStrength(671): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:51.863: E/ActivityManager(566): Intent: Intent { act=android.intent.action.SIG_STR flg=0x10 (has extras) }mEnablePowerSaverManagerFunction:truesuperMode:false
10-27 12:00:56.979: W/SignalStrength(724): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:56.980: W/SignalStrength(566): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:56.981: W/SignalStrength(671): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:56.983: W/SignalStrength(671): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:00:56.988: E/ActivityManager(566): Intent: Intent { act=android.intent.action.SIG_STR flg=0x10 (has extras) }mEnablePowerSaverManagerFunction:truesuperMode:false
10-27 12:00:57.434: E/ActivityManager(566): Intent: Intent { act=android.intent.action.BATTERY_CHANGED flg=0x60000010 (has extras) }mEnablePowerSaverManagerFunction:truesuperMode:false
10-27 12:01:00.008: E/ActivityManager(566): Intent: Intent { act=android.intent.action.TIME_TICK flg=0x40000014 (has extras) }mEnablePowerSaverManagerFunction:truesuperMode:false
10-27 12:01:02.101: W/SignalStrength(724): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:01:02.102: W/SignalStrength(566): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:01:02.103: W/SignalStrength(671): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:01:02.105: W/SignalStrength(671): getGsmLevel   ro.show.3g.level.by.rscp =  false
10-27 12:01:02.110: E/ActivityManager(566): Intent: Intent { act=android.intent.action.SIG_STR  flg=0x10 (has extras) }mEnablePowerSaverManagerFunction:truesuperMode:false
mp.reset();
Random rand = new Random();
SONG_NUMBER = rand.nextInt((songs.size() - 1) - 0 + 1) + 0;
mp.setDataSource(SD_PATH + songs.get(SONG_NUMBER));
mp.prepare();   // Try this line
mp.start();

我认为这是随机播放模式和普通模式之间的唯一区别

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM