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 回答