2011-01-28 47 views
1

我想在用户在tableView中按下一行时流一些视频。我使用的是iOS 4.2,当我按下一行时,我听到了声音,但是tableview并没有推开,你看不到视频?我相信这是一个巨大的新手错误,但是...我是一个新手!提前致谢!!!使用MPMoviePlayerController并获取声音,但没有视频

-(void)tableView: (UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath { 

    NSString *video; 
    NSString *url; 

    NSUInteger row = [indexPath row]; 
    video = [self.videoTitles objectAtIndex:row]; 

    if ([video isEqualToString:@"Shimmy"]) { 
    url = @"http://www.andalee.com/iPhoneVideos/mov.MOV"; 
    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] 
     initWithContentURL:[NSURL URLWithString:url]]; 
    [moviePlayer play]; 

    } else if ([video isEqualToString:@"Camel"]) { 
    url = @"http://www.andalee.com/iPhoneVideos/mov.MOV"; 
    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] 
      initWithContentURL:[NSURL URLWithString:url]]; 
    [[self view] addSubview:[moviePlayer view]]; 
    [moviePlayer play]; 

} 

[video release]; 
[url release]; 

}

回答

1

对于iOS 3.2+,请使用MPMoviePlayerViewController

MPMoviePlayerViewController *moviePlayerController 
    = [[[MPMoviePlayerViewController alloc] 
     initWithContentURL:[NSURL URLWithString:url]] 
      autorelease]; 
[self presentMoviePlayerViewControllerAnimated:moviePlayerController]; 
1

您要添加的电影播放器​​的视图控制器的看法,所以它会出现在所有其他视图顶部。如果这就是你想要的那样,你应该首先将播放器视图的框架设置为新的超级视图的界限。就你所知,玩家视图的边界可能是空的。

如果您希望表格滑开以显示播放器视图,最好让播放器查看另一个UIViewController视图的子视图,然后再将其他控制器推入导航堆栈。

相关问题