gpt4 book ai didi

ios - AVPlayer缓冲问题

转载 作者:行者123 更新时间:2023-12-01 18:57:34 25 4
gpt4 key购买 nike

我的应用程序中有一个AVPlayer,它正在播放流中的视频文件,我的问题是它有时会冻结,我必须再次按一下播放按钮才能恢复。对于缓冲问题,我使用了以下代码,但仍然没有成功,任何人都可以向我提出解决方案。

在ViewDidLoad方法中

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

在watchValueForKeyPath方法中
if (!mPlayer)
{
return;
}

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

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

但是上述if语句将永远不会被调用。另外,我正在使用此处演示的AVPlayerDemo类: https://developer.apple.com/library/ios/samplecode/AVPlayerDemo/Listings/Classes_AVPlayerDemoPlaybackViewController_m.html

最佳答案

我认为您的错误是试图在玩家而非玩家项目上添加观察者

您的代码应为

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

干杯

关于ios - AVPlayer缓冲问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602630/

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