|
@@ -119,6 +119,8 @@
|
|
|
|
|
|
@property (nonatomic, assign) BOOL muteAccompany; // 是否静音
|
|
|
|
|
|
+@property (nonatomic, assign) NSInteger musicStartTime; // 开始播放的时间
|
|
|
+
|
|
|
@end
|
|
|
|
|
|
@implementation KSAccompanyWebViewController
|
|
@@ -512,13 +514,17 @@
|
|
|
}
|
|
|
}
|
|
|
else if ([[parm ks_stringValueForKey:@"api"] isEqualToString:@"endEvaluating"]) {// 停止评测
|
|
|
- self.evaluatParm = nil;
|
|
|
- [self stopRecordService];
|
|
|
- [self postMessage:parm];
|
|
|
- [self sendEndMessage];
|
|
|
- [self stopMp3Player]; // 停止播放
|
|
|
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
|
|
+ self.musicStartTime = 0;
|
|
|
+ self.evaluatParm = nil;
|
|
|
+ [self stopRecordService];
|
|
|
+ [self postMessage:parm];
|
|
|
+ [self sendEndMessage];
|
|
|
+ [self stopMp3Player]; // 停止播放
|
|
|
+ });
|
|
|
}
|
|
|
else if ([[parm ks_stringValueForKey:@"api"] isEqualToString:@"cancelEvaluating"]) { // 取消评测
|
|
|
+ self.musicStartTime = 0;
|
|
|
self.evaluatParm = nil;
|
|
|
[self stopRecordService];
|
|
|
[self postMessage:parm];
|
|
@@ -526,6 +532,7 @@
|
|
|
}
|
|
|
else if ([[parm ks_stringValueForKey:@"api"] isEqualToString:@"startRecording"]) { // 开始录制
|
|
|
NSDictionary *content = [parm ks_dictionaryValueForKey:@"content"];
|
|
|
+ self.musicStartTime = [content ks_integerValueForKey:@"firstNoteTime"];
|
|
|
if ([[content allKeys] containsObject:@"accompanimentState"]) {
|
|
|
BOOL mute = [content ks_boolValueForKey:@"accompanimentState"] == NO;
|
|
|
self.muteAccompany = mute;
|
|
@@ -1265,6 +1272,7 @@
|
|
|
dispatch_main_sync_safe(^{
|
|
|
self.musicPlayer.isMute = self.muteAccompany;
|
|
|
[self.musicPlayer startPlay];
|
|
|
+ [self.musicPlayer seekToTimePlay:self.musicStartTime];
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -1663,10 +1671,11 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (playTime >= 300 && playTime < 310 && player == self.musicPlayer) {
|
|
|
+ if (playTime >= self.musicStartTime + 300 && playTime < self.musicStartTime + 310 && player == self.musicPlayer) {
|
|
|
if (self.recordStartTime > 0) {
|
|
|
- NSLog(@" --- music player start play time %f", currentInterval*1000 - playTime);
|
|
|
- self.playerStartTime = currentInterval*1000 - playTime;
|
|
|
+ NSInteger newPlayTime = playTime - self.musicStartTime; // 选段
|
|
|
+ NSLog(@" --- music player start play time %f", currentInterval*1000 - newPlayTime);
|
|
|
+ self.playerStartTime = currentInterval*1000 - newPlayTime;
|
|
|
self.offsetTime = self.playerStartTime - self.recordStartTime;
|
|
|
NSLog(@"--------- music play offset time -- %zd", self.offsetTime);
|
|
|
[self sendOffsetTimeToService];
|