gpt4 book ai didi

ios - 一定时间后如何在iOS SDK中向视频文件添加音频?

转载 作者:行者123 更新时间:2023-12-02 23:52:58 26 4
gpt4 key购买 nike

我正在开发一个视频编辑应用程序,在该应用程序中,我必须将音频文件添加到视频中,如果我在视频开始时添加音频,则可以正常工作。

AVURLAsset* audioAsset = [[AVURLAsset alloc]initWithURL:audioURL options:nil];
AVURLAsset* videoAsset = [[AVURLAsset alloc]initWithURL:videoURL options:nil];

AVMutableComposition* mixComposition = [AVMutableComposition composition];

AVMutableCompositionTrack *compositionCommentaryTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];


[compositionCommentaryTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration)
ofTrack:[[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:kCMTimeZero error:nil];

AVMutableCompositionTrack *compositionVideoTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];


[compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration)
ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:kCMTimeZero error:nil];

AVAssetExportSession* _assetExport = [[AVAssetExportSession alloc] initWithAsset:mixComposition
presetName:AVAssetExportPresetPassthrough];

但是我想要的是用户可以在任何时间间隔添加音频,即他将视频的前五秒留空,而在五秒后的时间范围内仅使用音频。

为此,我尝试使用 NewTime kCMTimeZero 替换为 ,但声音未添加:
CCMTime Newtime=CMTimeMakeWithSeconds(3000.0, 600);

[compositionCommentaryTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration)
ofTrack:[[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:Newtime error:nil];

实现有什么问题吗,或者有其他方法可以做到这一点?请提出建议。

最佳答案

我有解决方案:

我将CMTime Newtime=CMTimeMakeWithSeconds(3000.0, 600);替换为CMTime Newtime=CMTimeMake(3000, 600); this及其工作正常。

关于ios - 一定时间后如何在iOS SDK中向视频文件添加音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21751798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com