2013-05-10 107 views
0

我正在开发一个视频管理应用程序。我在滚动视图上添加视频。我们如何在滚动条上添加视频?

除黑屏外没有任何可见的东西。此代码正常工作,只在滚动中添加黑色视图,显示内容。

如果任何人有任何想法,请提供给我。

(void)LoadVideosToScrollView 
{  
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentDirectory=[paths objectAtIndex:0]; 
    NSString *videoDirectory=[documentDirectory stringByAppendingPathComponent:@"/videos"]; 
    NSFileManager *fileManger=[NSFileManager defaultManager]; 
    NSDirectoryEnumerator *docEnum=[fileManger enumeratorAtPath:videoDirectory]; 
    MPMoviePlayerController *localMoviePlayer; 
    CGFloat xAxis=10; 
    NSInteger n=0; 
    NSString *fileName; 

    [self.scrollView setContentSize:CGSizeMake(560, 200)]; 
    while ((fileName=[docEnum nextObject])) 
    { 
     NSString *filePath=[videoDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@",fileName]]; 
     //if file exist then file will be added on ScrollView 
     if ([fileManger fileExistsAtPath:filePath]) 
     { 
      NSURL *urlForFile=[NSURL fileURLWithPath:filePath]; 
      NSLog(@"%@",[urlForFile description]); 
      localMoviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:urlForFile]; 
      localMoviePlayer.scalingMode=MPMovieScalingModeAspectFit; 
      localMoviePlayer.shouldAutoplay=NO; 
      localMoviePlayer.controlStyle=MPMovieControlStyleNone; 
      [localMoviePlayer prepareToPlay]; 
      tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)]; 
      [localMoviePlayer.view addGestureRecognizer:tap]; 
      [localMoviePlayer.view setTag:n]; 
      [localMoviePlayer.view setFrame:CGRectMake(xAxis,5,150,120)]; 
      [self.scrollView addSubview:localMoviePlayer.view]; 
      [moviePlayerContainer addObject:urlForFile]; 
      xAxis+=155; 
      n++; 
     } 
    } 
} 

我已开发此代码。

回答

0

您需要使用AVPlayer而不是MPMoviePlayerControllerAVPlayer一样,您可以将视频渲染到特定的源视图 - 在您的情况下为scrollview。

好运

0

你没叫玩儿法

// Plays items from the current queue, resuming paused playback if possible. 
- (void)play; 

尝试下一个代码

_moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:filePath]]; 

[[_moviePlayer view] setFrame:[[self view] bounds]]; 
[[self view] addSubview: [_moviePlayer view]]; 

_moviePlayer.scalingMode = MPMovieScalingModeAspectFit; 

[_moviePlayer play]; 

如果你有一个许多影片scrollview你将遇到内存问题管理,为了优化显示视频列表的过程,您可以使用UITableView并将视频放在每个单元格上,因为UITableView已经拥有自己的单元格内存管理器。