を使用しAVMutableVideoComposition
てビデオとオーディオを追加しています。
複数のビデオ ファイルとオーディオ ファイルをつなぎ合わせていますが、基本的には問題なく動作します。
このコードを使用してオーディオを追加しています。
AVURLAsset *audioAsset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:path] options:nil];
[compositionAudioTrack insertTimeRange:titleRange
ofTrack:[audioAsset tracksWithMediaType:AVMediaTypeAudio][0]
atTime:partZeroTime
error:&err];
パスは正しく (NSLog を使用して確認)、partZeroTime はすべてのオーディオ トラックの挿入ポイントです (オーディオはビデオの冒頭でのみ再生されます)。オーディオ ファイルは常に同じです (一部の m4a ファイル)。
ただし、これは最初のオーディオでのみ機能します。後続のオーディオはすべて再生されません。オーディオ アセットを追加してもエラーは発生しません。
また、音楽用に別のトラックを作成しようとしましたが、同じ結果になりました。
何か案は?
[編集]
私が何をしたいのか完全に明確ではないかもしれないので、ここに詳細があります: AVMutableComposition でつなぎ合わせたいくつかのクリップのビデオ構成があります。イントロ (音楽を追加しようとする場所) が含まれ、その後に 1 つまたは 2 つのクリップ、別のイントロ (音楽付き)、さらにビデオが続きます。--music--silence--music--silence のように、音楽用に別のトラックを追加しました。
で沈黙を追加しようとしましinsertEmptyTimerange
たが、これは基本的にすべてを台無しにします。次にinsertTimeRange:tr ofTrack:nil
... を使用すると、以前と同じ結果が得られます。最初の音楽クリップが再生されますが、後続のすべてのクリップは再生されません...
私はこれで髪を引っ張っています...