gpt4 book ai didi

ios - 查看 AVPlayer 是否正在从互联网加载或播放 mp3

转载 作者:行者123 更新时间:2023-11-29 10:53:29 25 4
gpt4 key购买 nike

我想使用 AVPlayer 从互联网流式传输 .mp3

[[AVPlayer alloc] initWithURL:url];

除了我无法判断播放器是在加载(缓冲)还是在播放之外,这一切都有效吗?我曾尝试在许多属性上使用 KVO,但似乎没有一个能为我提供一种简单的方法来确定 AVPlayer 当前是否正在播放音频或是否正在加载数据。这让我发疯。

提前感谢您的建议

最佳答案

您可以通过创建周期性时间观察(使用 addPeriodicTimeObserverForInterval:queue:usingBlock:)来检测缓冲何时完成以及播放何时开始,以检测播放时间何时开始移动。例如:

AVPlayer *player;

// allocate AVPlayer and start playing

__weak PlayerController *blockSelf = self;
id observerToken = [player addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(1.0, NSEC_PER_SEC)
queue:nil
usingBlock:^ (CMTime time)
{
if (CMTimeGetSeconds(time) > 0.0)
{
// done buffering, should be playing now

[player removeTimeObserver:[blockSelf playerTimeObserverToken]];
[blockSelf setPlayerTimeObserverToken:observerToken:nil];
}
}];

[self setPlayerTimeObserverToken:observerToken]; // Keep a reference to the token for later use in block.

关于ios - 查看 AVPlayer 是否正在从互联网加载或播放 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19472901/

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