【问题标题】:Stopping AVPlayer on iOS在 iOS 上停止 AVPlayer
【发布时间】:2010-12-16 03:27:37
【问题描述】:
我正在使用 AVPlayer 播放来自 Internet 的实时流。 AVPlayer 可以暂停,但在恢复时它会从暂停的那一刻开始,就像 TiVO 一样。 AVPlayer 没有停止方法。
如何让它继续播放当前正在播放的内容(就像您关闭并重新打开汽车收音机一样)?
【问题讨论】:
标签:
iphone
cocoa-touch
ipad
ios4
avplayer
【解决方案1】:
-(void)seekToTime:(CMTime)time
使用此方法到达文件开头
【解决方案2】:
停止AVPlayer:
[player replaceCurrentItemWithPlayerItem:nil];
这将释放它及其相关资产消耗的所有内存和处理器资源。就那么简单。
【解决方案3】:
SeekToTime 不会停止音频,所以一旦你到达终点,如果你只调用 seekToTime,它就会像循环一样重新开始播放。您可以使用带有回调的以下版本在搜索完成后立即暂停视频/音频,以便它同时重置和停止。
[_player seekToTime:CMTimeMake(0, 1) completionHandler:^(BOOL finished) {
[_player pause];
}];
【解决方案4】:
[player pause];
[item_ removeObserver:self forKeyPath:@"status" context:nil];
[item_ removeObserver:self forKeyPath:@"playbackBufferEmpty" context:nil];
[item_ removeObserver:self forKeyPath:@"playbackLikelyToKeepUp" context:nil];
[item_ removeObserver:self forKeyPath:@"timedMetadata" context:nil];
player=nil;