2013-11-22 2 views
3

MP3 파일을 재생하는 동안 매우 이상한 seekToTime 동작이 발생하여 수정 방법을 이해할 수 없습니다.AVPlayer seekToTime 검색을 위해 다시 작동하지 않습니다.

초이 현재 시간보다 큰, 그러나 kCMTimeZero을 위해 아무것도하지 않고 또는 초 경우 작은 경우

[self.avPlayer seekToTime:CMTimeMakeWithSeconds(seconds, NSEC_PER_SEC) 
        toleranceBefore:kCMTimeZero 
        toleranceAfter:kCMTimePositiveInfinity]; 

확인 작업이 코드. 뒤로 탐색 한 후에도 상태가 변경되지 않습니다.

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 
    if (object == self.avPlayer.currentItem) { 
     if ([keyPath isEqualToString:@"status"]) { 
      if (self.avPlayer.status == AVPlayerStatusReadyToPlay && self.player.play) { 
       NSLog(@"Ready"); 
       NSLog(@"%lli", self.avPlayer.currentItem.duration.value); 
       [self.avPlayer play]; 
      } 
     } 
    } 
} 

지속 시간이 0 일 때 "준비 중"은 정방향 탐색에서만 나타납니다. avPlayer는 AVPlayer입니다.

역방향으로 올바르게 찾는 방법은 무엇입니까? 감사.

UPDATE

NSLog(@"Tracks from asset: %@", self.avPlayer.currentItem.asset.tracks); 
NSLog(@"Tracks from file: %@", self.avPlayer.currentItem.tracks); 

결과 :

또한 Bass

사용하여 해결

Tracks from asset:() 
Tracks from file: (
    "<AVPlayerItemTrack: 0x608000019850, assetTrack = <AVAssetTrack: 0x60000000d2e0, trackID = 1, mediaType = soun>>", 
    "<AVPlayerItemTrack: 0x608000019810, assetTrack = <AVAssetTrack: 0x60000000d320, trackID = 2, mediaType = meta>>" 
) 

답변

1

, AudioStreamer 버그를 많이 가지고 있지만, 역시이 문제를 해결한다.

+0

AVPlayer 및 AVFoundation 라이브러리와 함께 Bass를 사용하여 seekToTime을 거꾸로 수정하는 방법은 무엇입니까? –

관련 문제