1
AVMutablecomposition을 사용하여 AVplayer에서 온라인 비디오 파일을 재생하려고합니다. 비디오는 브라우저에서 재생할 때 매우 훌륭하게 재생되지만 내 iPad에서는 재생할 수 없습니다.AVFoundation - AVplayer가있는 AVMutablecomposition에서 비디오가 재생되지 않았습니다.
self.composition = [AVMutableComposition composition];
NSURL *urlVideo = [NSURL URLWithString:@"{video location}"];
AVURLAsset *videoAsset = [[AVURLAsset alloc]initWithURL:urlVideo options:nil];
AVMutableCompositionTrack *compositionVideoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
NSError *error = NULL;
AVAssetTrack *videoTrack = [[videoAsset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0];
CMTimeRange x = CMTimeRangeMake(kCMTimeZero, [videoAsset duration]);
[compositionVideoTrack insertTimeRange:x ofTrack:videoTrack atTime:kCMTimeZero error:nil];
그리고 AVPlayer를 설정하는 코드 :
AVPlayerItem *playerItem = [[AVPlayerItem alloc]initWithAsset:composition];
self.player = [[AVPlayer alloc]initWithPlayerItem:playerItem];
AVPlayerLayer *layerVideo = [AVPlayerLayer playerLayerWithPlayer:self.player];
layerVideo.frame = self.view.layer.bounds;
layerVideo.backgroundColor = [UIColor orangeColor].CGColor;
layerVideo.position = CGPointMake(1024/2, 768/2-10);
[self.view.layer addSublayer:layerVideo];
[self.player play];
내가 사용하는 경우
"AVPlayerItem * playerItem = [: videoAsset AVPlayerItem playerItemWithAsset]"여기 코드입니다 대신 "AVPlayerItem * playerItem = [[AVPlayerItem alloc] initWithAsset : composition];" 그러면 비디오가 재생되는 것을 볼 수 있습니다.누구나 AVMayer를 사용하여 AVMayer를 사용하여 비디오를 재생하는 방법을 알고 있습니까?
감사합니다. 사실 저는 배치에 bg 색상을 layerVideo에 추가했으며 비디오 재생없이 화면에 레이어가 추가 된 것을 볼 수 있습니다. – WilsonL
배경색을 볼 수 있지만 여전히 비디오가 꺼져있을 수 있습니다. 화면. 오디오가있는 비디오를 사용하거나 레이어에 테두리를 추가하여 전체 레이어가 화면에 표시되는지 확인하십시오. 게시 한 코드는 iOS 5에서 정상적으로 작동합니다. – djromero