gpt4 book ai didi

ios avplayer 触发流式传输超出缓冲区

转载 作者:IT王子 更新时间:2023-10-29 08:16:51 26 4
gpt4 key购买 nike

我想在流缓冲区为空时重新连接到服务器。

AVPlayerAVPlayerItem 缓冲区为空时,如何触发方法?

我知道有 playbackLikelyToKeepUpplaybackBufferEmptyplaybackBufferFull 方法来检查缓冲区状态,但这些不是回调。

是否有任何回调函数,或者我应该添加的任何观察者?

最佳答案

您可以为这些键添加观察者:

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

第一个会在您的缓冲区为空时警告您,第二个会在您的缓冲区可以再次运行时警告您。

然后要处理 key 更改,您可以使用此代码:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context {
if (!player)
{
return;
}

else if (object == playerItem && [keyPath isEqualToString:@"playbackBufferEmpty"])
{
if (playerItem.playbackBufferEmpty) {
//Your code here
}
}

else if (object == playerItem && [keyPath isEqualToString:@"playbackLikelyToKeepUp"])
{
if (playerItem.playbackLikelyToKeepUp)
{
//Your code here
}
}
}

关于ios avplayer 触发流式传输超出缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com