두 개의 URL이 인 AVAsset
개체를 만들 수 있나요? 하나는 오디오 용이고 다른 하나는 비디오 트랙 용입니까?별도의 동영상 및 오디오 URL이있는 AVAs
AVMutableComposition
으로 시도했지만 비디오 + 오디오 재생을 시작하기 전에 전체 내용을 먼저로드하고 어딘가에 버퍼링하는 것처럼 보입니다. AVComposition
의 문서에는 파일 기반 자산을 결합 할 수 있다고 나와 있지만 URL 기반 자산을 결합 할 방법이 필요합니다.
콘텐츠 전체를로드하기 전에 재생을 시작하려면 AVComposition
에 설정할 수있는 옵션이 있습니까?
편집
이것은 내가 그것을 시도하는 방법입니다
NSDictionary *urlAssetOptions = @{AVURLAssetPreferPreciseDurationAndTimingKey: [NSNumber numberWithBool:NO]};
AVMutableComposition *composition = [AVMutableComposition composition];
NSURL *audioUrl = [NSURL URLWithString:@"http://..."];
AVURLAsset *audioAsset = [AVURLAsset URLAssetWithURL:audioUrl options:urlAssetOptions];
AVMutableCompositionTrack *audioTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
[audioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, audioAsset.duration) ofTrack:[[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:kCMTimeZero error:nil];
NSURL *videoUrl = [NSURL URLWithString:@"http://..."];
AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:videoUrl options:urlAssetOptions];
AVMutableCompositionTrack *videoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
[videoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration) ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:kCMTimeZero error:nil];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:composition];
간단한 way..create이 AVAssets. \ –
@Gagan_iOS 어떻게 이들 두 AVAssets와 AVPlayerItem 객체를 생성해야합니까? – selcuksinan