0

我正在尝试UITableview使用MPMovieplayerController. 我在滚动视图委托中调用视频播放功能scrollViewDidScroll,当它滚动到可见矩形时。

我为此使用了以下代码:

- (void)scrollViewDidScroll:(UIScrollView *)aScrollView {

    CGPoint offset = aScrollView.contentOffset;
    CGRect bounds = aScrollView.bounds;
    CGSize size = aScrollView.contentSize;
    UIEdgeInsets inset = aScrollView.contentInset;
    float y = offset.y + bounds.size.height - inset.bottom;
    float h = size.height;
    /*
     NSLog(@"offset: %f", offset.y);
     NSLog(@"content.height: %f", size.height);
     NSLog(@"bounds.height: %f", bounds.size.height);
     NSLog(@"inset.top: %f", inset.top);
     NSLog(@"inset.bottom: %f", inset.bottom);
     NSLog(@"pos: %f of %f", y, h);
     */

    if(offset.y - 100 > bounds.size.height/2 && !playLock)
    {

        [self performSelectorOnMainThread:@selector(startPlayingVideo) withObject:nil waitUntilDone:YES];
        playLock = YES;
    }
}

但是视频只有在我从屏幕上移开手指后才开始播放。我想在不松开手指的情况下播放视频(类似于 vine 应用程序)。当我在视图中触摸期间检查MPMoviePlayer状态时,它总是处于停止状态。

只有在从屏幕上移开触摸后才会开始播放。有没有正确的方法来实现这一目标?

4

1 回答 1

1

通过用 AVPlayer 替换 MPMoviePlayer 解决了这个问题。

于 2015-02-13T10:20:42.343 回答