0

ストーリーボードを使用しているXcodeにビデオコードを入れようとしていますが、クラッシュするたびにこれがエラーになります:

キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: ' * -[NSURL initFileURLWithPath:]: nil string parameter' *最初のスロー コール スタック:

ボタンを に接続しましたが、ボタンIBActionを押した後にアプリがクラッシュしました

- (IBAction)playMove;
{
    NSString *url = [[NSBundle mainBundle]pathForResource:@"skill" ofType:@"flv"];    


    MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:url]];
    theMovie.view.frame = CGRectMake(64, 100, 200, 150);
    [self.view addSubview:theMovie.view];

    [theMovie play];
}

私のファイルはname.mp4大きい 480* 360 ですが、クラッシュしました これがコードです

- (IBAction)playMove;
{
    NSURL *url =[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"go" ofType:@"mp4"]];
    MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc]initWithContentURL:url];
    [self presentMoviePlayerViewControllerAnimated:player];
    player.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
    [player.moviePlayer play];

}

ボタンは正常に接続されていますが、どうすれば修正できますか?

ストーリー ボードなしとストーリー ボードありで使用しようとしていますが、常にクラッシュします。

これはエラーです:

NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
*** First throw call stack:
(0x1e0a022 0x1348cd6 0x1db2a48 0x1db29b9 0xb9753b 0xb974c5 0x21dc 0x1e0be99 0x25814e 0x2580e6 0x2feade 0x2fefa7 0x2fe266 0x27d3c0 0x27d5e6 0x263d
4

1 に答える 1

1

でFLVファイルを再生しようとしているためですMPMoviePlayer

これは、MPMoviePlayerController でサポートされている形式の Apple API ドキュメントからのものです。

サポートされている形式
このクラスは、iOS でサポートされている任意のムービーまたはオーディオ ファイルを再生します。これには、ストリーミング コンテンツと固定長ファイルの両方が含まれます。ムービー ファイルの場合、これは通常、拡張子が .mov、.mp4、.mpv、および .3gp で、次の圧縮規格のいずれかを使用するファイルを意味します。

H.264 ベースライン プロファイル レベル 3.0 ビデオ、30 fps で最大 640 x 480。(ベースライン プロファイルは B フレームをサポートしません。) MPEG-4 パート 2 ビデオ (単純なプロファイル) このクラスを使用してオーディオ ファイルを再生すると、オーディオの再生中に QuickTime ロゴ付きの白い画面が表示されます。オーディオ ファイルの場合、このクラスは最大 48 kHz の AAC-LC オーディオ、および最大 48 kHz の MP3 (MPEG-1 Audio Layer 3) ステレオ オーディオをサポートします。

于 2012-08-12T18:21:14.620 に答える