gpt4 book ai didi

ios - 为事件注册 AVPlayer - 如何知道 AVPlayer 完成播放电影

转载 作者:行者123 更新时间:2023-11-28 21:36:37 30 4
gpt4 key购买 nike

我知道 AVPlayerItem(AVPlayer 的子类)能够订阅 AVPlayerItemDidPlayToEndTimeNotification

AVPlayer 没有这样的功能,我需要使用 AVPlayer 除非没有办法解决这个问题并且知道(在我的情况下是视频)播放何时完成。

如何在 AVPlayer 中执行此操作?我阅读了这些类(class)的一些文档,但没有看到立即的答案。

-(void)setupVideoView{


_videoPlayer = [AVPlayer playerWithURL:urlObjectHere];

AVPlayerLayer *layer = [AVPlayerLayer layer];

[layer setPlayer:_videoPlayer];
[layer setFrame:_videoView.bounds];

[_videoView.layer addSublayer:layer];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying:) name:AVPlayerItemDidPlayToEndTimeNotification object:_videoPlayer];




}

-(void)itemDidFinishPlaying:(NSNotification *) notification {
// does not get called

DLog(@"");



}

最佳答案

据我所知,无法通过 AVPlayer 层知道完整时间。

AVAsset - AVPlayerItem - AVPlayer 是 AVFoundation 中组合 AVPlayer 的三个组件。如果你想DIY更多AVPlayer的功能,你需要使用较低级别的AVPlayer,它们是AVAsset和AVPlayerItem。

如果您只需要 AVPlayer 的常规实用程序,我认为只需使用 AVKit 中的 AVPlayerViewController。

不建议使用 MPMoviePlayer,大部分已弃用。习惯 AVPlayer...

关于ios - 为事件注册 AVPlayer - 如何知道 AVPlayer 完成播放电影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33704924/

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