使用 AVQueuePlayer 强制/尊重 PlayItem 之间所需的间隙

发布于 2024-11-26 10:38:11 字数 296 浏览 0 评论 0原文

大家好,我正在使用 AVQueuePlayer 来播放一系列媒体文件(音频、视频)。有时我的 PlayItems 比我需要的持续时间短,即我希望某些项目之间保持安静。我一直在考虑尝试使用 addPeriodicTimeObserverForInterval addBoundaryTimeObserverForTimes 的某种组合或运行我自己的 NSTimer

它不需要非常准确 + 或 - 1 秒是可以接受的。 我想知道是否有关于使用这些 API 调用来实现此类功能的集体智慧?

Hi all I'm using AVQueuePlayer to play a sequence of media files (audio, video). I sometimes have PlayItems that are shorter than the durations I need i.e. I want a silence between some items. I have been considering trying to use some combination of addPeriodicTimeObserverForInterval addBoundaryTimeObserverForTimes or running my own NSTimer.

It doesn't need to be super accurate + or - 1 Second is acceptable.
I'm wondering if there is any collective wisdom out there about these using these API calls to achieve this kind of functionality ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

唠甜嗑 2024-12-03 10:38:11

为什么不观察项目的结束,然后,如果有必要,仅在一定的延迟后才开始再次播放?

您开始观察 AVPlayerItem 的结束,如下所示:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playEnded) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem];

然后,在您的 playEnded 方法中,您可以决定需要等待多长时间,并调用另一个方法来开始播放延迟后的下一个项目。

-(void)playEnded {
    [self performSelector:@selector(playNextItem) withObject:nil afterDelay:5.0];
}

Why not observe the end of the items, and then, if necessary, start to play again only after a certain delay?

You start to observe the end of an AVPlayerItem like this:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playEnded) name:AVPlayerItemDidPlayToEndTimeNotification object:playerItem];

Then, in your playEnded method, you can decide how long you need to wait, and call another method to start play of the next item after a delay.

-(void)playEnded {
    [self performSelector:@selector(playNextItem) withObject:nil afterDelay:5.0];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文