gpt4 book ai didi

ios - AVPlayerItem.loadedTimeRanges 上的 KVO 可能吗?

转载 作者:可可西里 更新时间:2023-11-01 04:24:02 26 4
gpt4 key购买 nike

Apple 文档对此有所暗示,但是如何为 AVPlayerItem 的 loadedTimeRanges 属性设置键值观察?该属性是一个不会更改的 NSArray,因此您不能只使用 playerItem addObserver:self forKeyPath:@"loadedTimeRanges ...

或者是否有其他方法可以在这种情况发生变化时获得通知或更新?

最佳答案

实际上,我对 loadedTimeRanges 使用 KVO 没有任何问题。也许您只是没有设置正确的选项?以下是对 Apple 的 AVPlayerDemo 中的一些代码的非常细微的修改。 ,它对我来说效果很好。

//somewhere near the top of the file
NSString * const kLoadedTimeRangesKey = @"loadedTimeRanges";
static void *AudioControllerBufferingObservationContext = &AudioControllerBufferingObservationContext;


- (void)someFunction
{
// ...

//somewhere after somePlayerItem has been initialized
[somePlayerItem addObserver:self
forKeyPath:kLoadedTimeRangesKey
options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
context:AudioControllerBufferingObservationContext];

// ...
}

- (void)observeValueForKeyPath:(NSString*) path
ofObject:(id)object
change:(NSDictionary*)change
context:(void*)context
{
if (context == AudioControllerBufferingObservationContext)
{
NSLog(@"Buffering status: %@", [object loadedTimeRanges]);
}
}

关于ios - AVPlayerItem.loadedTimeRanges 上的 KVO 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996355/

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