ios - 未调用 AVPlayerItemDidPlayToEndTimeNotification

标签 ios objective-c avplayer nsnotificationcenter

我的屏幕上有一个视频必须无限循环播放。

所以我写道:

self.player = [AVPlayer playerWithPlayerItem:avItem];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(playerItemDidReachEnd:)
                                             name:AVPlayerItemDidPlayToEndTimeNotification
                                           object:[_player currentItem]];

[_player play];

我的后备方法是:

- (void)playerItemDidReachEnd:(NSNotification *)notification {
    [_player.currentItem seekToTime:kCMTimeZero];
    [_player play];
}

它运行良好,但有时似乎没有调用我的回退。视频最后卡住了,再也没有播放过。这是随机发生的......

你有什么想法吗?

最佳答案

你可以只设置一个边界时间观察者。

    - (id) setupBoundaryEndWith:(NSArray*)array
    {
        __weak MY_AVPlayer* weakself = self;
        return [self addBoundaryTimeObserverForTimes:array queue:NULL usingBlock:^{
            [weakself stopAVPlayerAndLoopOrTriggerNextTrack];
            }];
    }

关于ios - 未调用 AVPlayerItemDidPlayToEndTimeNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23904436/

相关文章:

ios - didUpdateLocations 而不是 didUpdateToLocation

ios - 将 UIView 覆盖添加到 UIIMagePickerController 视频录制

ios - 什么 UI 组件可以像这样制作多个单独的框?

IOS:没有 ARC 的属性

iOS AVPlayer 在播放图标上显示带有十字线的屏幕

ios - 当从另一个类调用方法时歌曲不播放

ios - Iphone, iPad 屏幕尺寸以编程方式纵向和横向模式

iphone - 如何根据属性值加载不同的自定义引脚或标识符?

objective-c - NSIndexSet "-indexAtIndex:"?

python - 使用 Flask 提供 .mp4 文件并在 Objective-C 应用程序上播放会导致管道损坏且无法播放