|
@@ -167,6 +167,28 @@ NSURL * MKRUrlWithString(NSString *string){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+- (NSInteger)_caculateNextIndex:(NSInteger)currentIndex{
|
|
|
+ switch (_playMode) {
|
|
|
+ case MKRAVPlayerPlayModeRandom:{
|
|
|
+ return [self ramdomIndex];
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case MKRAVPlayerPlayModeSingle:{
|
|
|
+ return currentIndex;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case MKRAVPlayerPlayModeOrder:
|
|
|
+ default:{
|
|
|
+ NSInteger index = currentIndex + 1;
|
|
|
+ if (index > self.playList.count - 1) {
|
|
|
+ index = 0;
|
|
|
+ }
|
|
|
+ return index;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
- (void)next{
|
|
|
if (_playMode == MKRAVPlayerPlayModeRandom) {
|
|
|
[self nextWhenPlayDidEnd];
|
|
@@ -347,8 +369,9 @@ NSURL * MKRUrlWithString(NSString *string){
|
|
|
self.seekTime = 0.0f;
|
|
|
self.isSeeking = NO;
|
|
|
BOOL shouldAutoNext = YES;
|
|
|
- if (self.delegate && [self.delegate respondsToSelector:@selector(didFinishPlayWillAutoNext)]) {
|
|
|
- shouldAutoNext = [self.delegate didFinishPlayWillAutoNext];
|
|
|
+ if (self.delegate && [self.delegate respondsToSelector:@selector(didFinishPlayWillAutoNext:)]) {
|
|
|
+ NSInteger nextIndex = [self _caculateNextIndex:self.currentIndex];
|
|
|
+ shouldAutoNext = [self.delegate didFinishPlayWillAutoNext:nextIndex];
|
|
|
}
|
|
|
if (shouldAutoNext) {
|
|
|
[self nextWhenPlayDidEnd];
|