1

静的セルを持つ UITableView コントローラーがあります。最初の UITableView セルには UIButton があり、これを押すと、MoviePlayer Controller のおかげでビデオが再生されます。

最初に行ったのは、MPC を実装するカスタム UITableView Cell クラスを作成し、次にムービー再生をトリガーするボタンの IBAction を作成することでした。これを行うと、次のエラーが表示されます: 'NSInvalidArgumentException', reason: ' * -[NSURL initFileURLWithPath:]: nil string parameter'

以前に UITableView で MoviePlayerController を使用したことがありません。私は何を間違っていますか?

-(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]; 
}
4

1 に答える 1

0

ビデオはメイン バンドルに存在しません。正しい名前のビデオがあること"my_mov1.mp4"を確認し、それがメイン バンドルにコピーされていることを確認してください。

ファイルマネージャーを使用してファイルが存在するかどうかを確認できます

NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDirectory;
NSString *filePath; // set your file path here;
BOOL fileExists = [fileManager fileExistsAtPath:filePath isDirectory:&isDirectory];
于 2013-11-09T00:06:37.393 に答える