Korzystanie z AVMutableComposition iPhone

Używam poniższego kodu do sekwencyjnego przesyłania strumieniowego dwóch filmów. Ale nie pokazuje żadnego wideo w symulatorze, jest całkowicie puste.

Jak mogę szukać tych dwóch filmów. Na przykład, jeśli jedno wideo trwa 2 minuty, a drugie 3 minuty. Teraz muszę uzyskać całkowity czas tych filmów i przeszukiwać je. Po przesunięciu suwaka do 4 minut, drugie wideo powinno być odtwarzane od 2 minuty do przodu.

Czy to możliwe?

<code>- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    NSURL *url1 = [NSURL URLWithString:@"http://www.tools4movies.com/dvd_catalyst_profile_samples/Harold%20Kumar%203%20Christmas%20bionic.mp4"];
    NSURL *url2 = [NSURL URLWithString:@"http://www.tools4movies.com/dvd_catalyst_profile_samples/Harold%20Kumar%203%20Christmas%20tablet.mp4"];

    NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:AVURLAssetPreferPreciseDurationAndTimingKey];

    AVMutableComposition *composition = [[AVMutableComposition alloc] init];

    asset1 = [[AVURLAsset alloc] initWithURL:url1 options:options];
    AVURLAsset * asset2 = [[AVURLAsset alloc]initWithURL:url2 options:options];

    CMTime insertionPoint = kCMTimeZero;
    NSError * error = nil;
    composition = [AVMutableComposition composition];

    if (![composition insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset1.duration) 
                              ofAsset:asset1 
                               atTime:insertionPoint 
                                error:&error]) 
    {
        NSLog(@"error: %@",error);
    }

    insertionPoint = CMTimeAdd(insertionPoint, asset1.duration);

    if (![composition insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset2.duration) 
                              ofAsset:asset2 
                               atTime:insertionPoint 
                                error:&error]) 
    {
        NSLog(@"error: %@",error);
    }

    AVPlayerItem * item = [[AVPlayerItem alloc] initWithAsset:composition];
    player = [AVPlayer playerWithPlayerItem:item];
    AVPlayerLayer * layer = [AVPlayerLayer playerLayerWithPlayer:player];

    [layer setFrame:CGRectMake(0, 0, 320, 480)];
    [[[self view] layer] addSublayer:layer];
    [player play];   
}
</code>

Czy ktoś może mi powiedzieć, że jaki jest błąd w moim kodzie?

questionAnswers(1)

yourAnswerToTheQuestion