1
正如標題後流站,我想生活在兩個的iOS和使用AVPlayer
例如OS X流互聯網廣播。一切正常,如預期一樣簡單player = [AVPlayer playerWithURL:URL];
AVPlayer實況廣播15分鐘左右
使用該應用程序時,我注意到,流只是在15分鐘後停止,給或少數。問題是沒有給予注意。
[player addObserver:self forKeyPath:@"status" options:0 context:nil];
[player addObserver:self forKeyPath:@"rate" options:0 context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if (object == player) {
if ([keyPath isEqualToString:@"status"]) {
NSLog(@"status -> %ld", player.status);
}
if ([keyPath isEqualToString:@"rate"]) {
NSLog(@"rate -> %f", player.rate);
}
}
}
兩個值切換到1
,但即使停止播放音頻也不會再次切換。在iOS上,播放右上角的圖標消失了,但應用程序仍然認爲由於player.rate值沒有更改而導致播放音頻。
首先,我認爲這是流,所以我嘗試了其他流5by5和twit,同樣的事情發生。
然後我認爲這是我的連接,所以在流開始後,我關掉了我的連接,一分鐘左右後,我觀察到的是AVPlayerItemDidPlayToEndTimeNotification
被解僱。
花了一段時間來測試這個。
因此,任何想法爲什麼會發生這種情況?更重要的是,如何解決它?
不錯的工作!我相信AVPlayer存在問題,因爲發生卡住時,AVPlayer的定期觀察者不會再被解僱。 – wao813 2017-04-24 17:14:19