我正在使用 AVPlayer 播放来自 Internet 的实时流。AVPlayer 可以暂停,但在恢复时它会从暂停的那一刻开始,就像 TiVO 一样。AVPlayer 没有停止方法。
如何让它继续播放当前正在播放的内容(就像您关闭并重新打开汽车收音机一样)?
我正在使用 AVPlayer 播放来自 Internet 的实时流。AVPlayer 可以暂停,但在恢复时它会从暂停的那一刻开始,就像 TiVO 一样。AVPlayer 没有停止方法。
如何让它继续播放当前正在播放的内容(就像您关闭并重新打开汽车收音机一样)?
-(void)seekToTime:(CMTime)time
使用此方法到达文件的开头
停止AVPlayer
:
[player replaceCurrentItemWithPlayerItem:nil];
这将释放它及其相关资产消耗的所有内存和处理器资源。就那么简单。
SeekToTime 不会停止音频,所以一旦你到达终点,如果你只调用 seekToTime 它就会像循环一样重新开始播放。您可以使用带有回调的以下版本在搜索完成后立即暂停视频/音频,以便它同时重置和停止。
[_player seekToTime:CMTimeMake(0, 1) completionHandler:^(BOOL finished) {
[_player pause];
}];
[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;