다음 코드를 사용하여 오디오를 병합하려고했습니다. 나는 실행하려고하면[NSMutableArray objectAtIndex :] : 인덱스 0 AVURLAsset에서 빈 배열에 대한 경계 너머
AVMutableComposition* composition = [AVMutableComposition composition];
AVURLAsset* videoAsset = [[AVURLAsset alloc]initWithURL:audioURL options:nil];
AVURLAsset* audioAsset1 = [[AVURLAsset alloc]initWithURL:audioURL1 options:nil];
AVURLAsset* audioAsset2 = [[AVURLAsset alloc]initWithURL:audioURL1 options:nil];
AVMutableCompositionTrack *compositionVideoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
NSError* error = NULL;
[compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero,videoAsset.duration)
ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0]
atTime:kCMTimeZero
AVMutableCompositionTrack *compositionAudioTrack1 = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionAudioTrack1 insertTimeRange:CMTimeRangeMake(kCMTimeZero,audioAsset1.duration)
ofTrack:[[audioAsset1 tracksWithMediaType:AVMediaTypeAudio]objectAtIndex:0]
atTime:kCMTimeZero
error:&error];
AVMutableCompositionTrack *compositionAudioTrack2 = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionAudioTrack2 insertTimeRange:CMTimeRangeMake(kCMTimeZero,audioAsset2.duration)
ofTrack:[[audioAsset2 tracksWithMediaType:AVMediaTypeAudio]objectAtIndex:0]
atTime:kCMTimeZero
error:&error];
"[[audioAsset1 tracksWithMediaType을 : AVMediaTypeAudio] objectAtIndex : 0]"나는 콘솔에서 audioAsset1를 인쇄 할 때주고는, 오류
*** Terminating app due to uncaught exception 'NSRangeException',
reason: '*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array'
다음 그러나 < AVURLAsset : 0x198920, URL = '경로'> "이 인쇄됩니다. 나는 그 파일이있는 경로를 확인했다.
내 실수는 무엇입니까? 그것을 해결하도록 도와주세요.
우리는'audioURL1' 값을 확인할 수 있습니까? –
디버그 모드에서 확인했습니다. audioURL에서 가져옵니다. audioURL1에 없습니다. – jfalexvijay
"[audioAsset1 tracksWithMediaType : AVMediaTypeAudio]"를 인쇄하려고하면 다음 문이 인쇄됩니다. 'asset : ( )'- 자산이 비어 있음을 의미합니다. – jfalexvijay