在UITableview单元格中播放视频

时间:2015-02-10 10:30:03

标签: objective-c uitableview scrollview mpmovieplayercontroller vine

我正在尝试使用UITableviewMPMovieplayerController单元格中播放视频。我在scrollview委托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;
    }
}

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

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

1 个答案:

答案 0 :(得分:1)

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