Я хочу извлечь каждый аудиоканал в быстрый фильм с помощью QuickTime-API.Это означает, что если файл имеет объемное звучание 5.1, я хочу 6 аудио файлов в конце.Но сейчас я не знаю, как с этим справиться.До сих пор у меня есть:
OSStatus err = noErr;
MovieAudioExtractionRef extractionSessionRef = nil;
Boolean allChannelsDiscrete = true;
int flags;
int numFrames;
AudioBufferList *mBufferList;
err = MovieAudioExtractionBegin(movie, 0, &extractionSessionRef);
// disable mixing of audio channels
err = MovieAudioExtractionSetProperty(extractionSessionRef,
kQTPropertyClass_MovieAudioExtraction_Movie,
kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete,
sizeof (Boolean), &allChannelsDiscrete);
err = MovieAudioExtractionFillBuffer(extractionSessionRef, &numFrames,
mBufferList, &flags);
if (flags & kQTMovieAudioExtractionComplete)
{
// extraction complete!
}
err = MovieAudioExtractionEnd(extractionSessionRef);
Проблема в том, что я не знаю, как получить mBufferList
и как экспортировать каждый канал как WAV 48 кГц.Вы можете мне помочь?Пример из этой страницы .