使用 MoviePlayer 控制器在一个 UITableView 静态单元格中播放 .mp4
Posted
技术标签:
【中文标题】使用 MoviePlayer 控制器在一个 UITableView 静态单元格中播放 .mp4【英文标题】:Playing an .mp4 in one UITableView Static Cell with MoviePlayer Controller 【发布时间】:2013-11-08 22:49:30 【问题描述】:我有一个带有静态单元格的 UITableView 控制器;第一个 UITableView 单元格有一个 UIButton,当按下它时,由于 MoviePlayer 控制器,它会播放视频。
我最初所做的是创建一个自定义 UITableView Cell 类,在其中我实现了 MPC,然后为按钮创建了一个 IBAction 以触发电影播放。当我这样做时,我收到错误:'NSInvalidArgumentException',原因:'* -[NSURL initFileURLWithPath:]: nil string parameter'
我之前没有将 MoviePlayerController 与 UITableView 一起使用。我做错了什么?
-(IBAction)playvideo
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"my_mov1" ofType:@"mp4"]];
MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:playercontroller];
playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[playercontroller.moviePlayer play];
【问题讨论】:
错误说参数为nil。你检查过字符串吗? 这就是我所拥有的:-(IBAction)playvideo NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"my_mov1" ofType:@"mp4"]]; MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; [self presentMoviePlayerViewControllerAnimated:playercontroller]; playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile; [playercontroller.moviePlayer 播放];我还能如何检查字符串?感谢您的帮助, 确保 [[NSBundle mainBundle] pathForResource:@"my_mov1" ofType:@"mp4"] 不是 nil 【参考方案1】:您的主捆绑包中不存在该视频。确保您有一个正确命名为 "my_mov1.mp4"
的视频,并确保将其复制到您的主包中。
您可以使用文件管理器检查文件是否存在
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDirectory;
NSString *filePath; // set your file path here;
BOOL fileExists = [fileManager fileExistsAtPath:filePath isDirectory:&isDirectory];
【讨论】:
谢谢!我明天要试试这个,看看它是否有效。我会告诉你。我确实将“复制捆绑资源”中的视频复制了两次,但我会再试一次。 我试过了,还是不行。另外,我现在似乎遇到了其他几个问题,这些问题可能值得提出一个全新的问题。以上是关于使用 MoviePlayer 控制器在一个 UITableView 静态单元格中播放 .mp4的主要内容,如果未能解决你的问题,请参考以下文章
Monotouch - MoviePlayer 永远不会超越“正在加载...”
IOS 开发人员,正在开发一个基本的 MoviePlayer 应用程序。无法使用导航栏停止播放视频
在 iPhone 3.0 SDK 中为 MoviePlayer 添加自定义控件
iOS Swift 在视图关闭时停止 MoviePlayer