objective-c - MPMoviePlayerViewController 无法设置当前播放时间

标签 objective-c ios video mpmovieplayercontroller

我正在尝试在 MPMoviePlayerViewController 中设置 MPMoviePlayerController 的 currentPlaybackTime 属性,以使其从那时起恢复播放视频(HLS 流),当应用程序退出事件时它已停止。这是我的代码:

    //the functinon that sets playback time
    - (void)setCurrentPlayTime:(NSNumber *)time {
        if (self.moviePlayer.currentPlaybackTime < [time floatValue] - 10.0) {
            [self.moviePlayer setCurrentPlaybackTime:(NSTimeInterval)[time floatValue]];
        }
    }

    //app did become active callback
    - (void) applicationDidBecomeActiveNotification:(NSNotification*)notification {
        if (!isnan(_curPlayTime) && _curPlayTime > 0.0) {
            [self performSelector:@selector(setCurrentPlayTime:) withObject:[NSNumber numberWithFloat:_curPlayTime] afterDelay:0.1];
        }
    }

    //player load state did change callback
    -(void)playerLoadStateDidChange:(NSNotification *)notification {   
    MPMoviePlayerController *player = notification.object;
    MPMovieLoadState loadState = player.loadState;  
if (loadState & MPMovieLoadStatePlaythroughOK) {
        if (!isnan(_curPlayTime) && _curPlayTime > 0.0) {
            [self performSelector:@selector(setCurrentPlayTime:) withObject:[NSNumber numberWithFloat:_curPlayTime] afterDelay:0.1];
            _curPlayTime = 0.0;
        }
}

当我只需点击主页按钮然后重新打开应用程序时,如果我接到来电但拒接,它也能正常工作。但是如果我接听来电,在我结束通话后,播放从 0.0 开始,忽略 setCurrentPlaybackTime 方法调用。有谁知道,问题出在哪里,可能是应该如何正确工作的任何例子?

最佳答案

不确定这是否是问题所在,但您搜索的选择器是 setCurrentPlayTime 而不是 setCurrentPlay*back*Time。

关于objective-c - MPMoviePlayerViewController 无法设置当前播放时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9786328/

相关文章:

ios - 原始访问器没有可见的@interface

ios - UITableView 显示不正确 - 为什么?

ios - 无法更改 UINavigationController 的色调

ios - UITableViewCell 作为按钮

ios - 如何拦截来自共享扩展的远程通知?

HTML5 视频标签音量控制缺失

ios - UIButton AddTarget 在同一目标操作上多次只调用一次?

iphone - 从rails下载到iphone压缩文件缺少部分

windows - 在Windows上将QMediaPlayer与PyQt5一起使用时出错

python - 如何在Python中有效地杀死卡住的子进程?