0

ビデオと画像を NSData 形式でキャッシュに保存しています。画像を取得して imageController に表示したい また、ビデオを取得して videoController に表示したいと考えています。ファイル拡張子を見ると、それらを区別できます。しかし、問題は imageController にあります。NSData を使用してイメージを初期化できます。

        NSData *data=[NSData dataWithContentsOfURL:[NSURL fileURLWithPath:filePath isDirectory:NO]];
        UIImage *image=[[UIImage alloc]initWithData:data];

しかし、NSData を使用してビデオを再生するにはどうすればよいですか?

4

1 に答える 1

2

パス拡張を取得できる場合は、タイプごとに個別の実装を使用できます。一方通行である必要はありませんよね?

-(void)example:(NSString*)filePath {
    if ([filePath.pathExtension isEqualToString:@"png"]) {
        NSData *data=[NSData dataWithContentsOfURL:[NSURL fileURLWithPath:filePath isDirectory:NO]];
        UIImage *image=[[UIImage alloc]initWithData:data];
    } else if ([filePath.pathExtension isEqualToString:@"mp4"]) {
        MPMoviePlayerController *player =
        [[MPMoviePlayerController alloc] initWithContentURL: [NSURL urlWithString:filePath]];
        [player prepareToPlay];
        [player.view setFrame: myView.bounds];  // player's frame must match parent's
        [myView addSubview: player.view];
        // ...
        [player play];
    }
}
于 2012-07-03T04:19:23.627 に答える