AVPlayerItem 暂停直播 URL?

Posted

技术标签:

【中文标题】AVPlayerItem 暂停直播 URL?【英文标题】:AVPlayerItem Pause Live Stream URL? 【发布时间】:2012-09-28 23:55:20 【问题描述】:

我目前正在使用 AVPlayerItem 从 URL 播放实时流。我的代码是

- (void)viewDidLoad

    AVPlayerItem* playerItem = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@"http://s4.voscast.com:8080/"]];

    [playerItem addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:nil];

    AVPlayer* player = [[AVPlayer playerWithPlayerItem:playerItem] retain];
    [player play];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

- (void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object
                         change:(NSDictionary*)change context:(void*)context 

    if ([keyPath isEqualToString:@"timedMetadata"])
    
        AVPlayerItem* playerItem = object;

        for (AVMetadataItem* metadata in playerItem.timedMetadata)
        
            NSLog(@"\nkey: %@\nkeySpace: %@\ncommonKey: %@\nvalue: %@", [metadata.key description], metadata.keySpace, metadata.commonKey, metadata.stringValue);
        
    

有什么方法可以暂停,然后从中断的地方继续,允许快进重新开始生活?

【问题讨论】:

【参考方案1】:

您可以使用[player pause][player play] 暂停和恢复流式传输,但不能从您离开的点恢复为正常轨道(例如mp3 文件)。您可以达到与关闭和打开汽车收音机相同的效果。

为了实现这一点,您应该在“暂停”期间在后台缓冲流,然后重现它,但我猜它相当复杂。我帮不了你。

【讨论】:

以上是关于AVPlayerItem 暂停直播 URL?的主要内容,如果未能解决你的问题,请参考以下文章

使用 AVPlayer、AVPlayerItem 和 AVPlayerAsset 有啥区别吗?

iOS 7中的iOS 7 AVPlayer AVPlayerItem持续时间不正确

AVPlayerItem 一次只能占据玩家队列中的一个位置

如何从 AVPlayerItem 创建波形可视化器? (iOS)

暂停 RTMP 直播后 VideoJS 不播放

通过 AvPlayerItem 和 AvPlayer 流式传输时监控下载的字节数 - iOS