Мне нужно прочитать необработанные образцы аудио и видео с AVAsset. Каков наилучший способ сделать это? Я могу подключить несколько объектов AVAssetReaderTrackOutput к одному AVAssetReader. Но [AVAssetReaderOutput copyNextSampleBuffer] является синхронным. Каков наилучший способ прочитать два трека в хронологическом порядке Безопасно ли назначать поток каждому AVAssetReaderTrackOutput?Прочитайте несколько дорожек с помощью AVAssetReader
2
A
ответ
2
Хороший вопрос - один поток на AVAssetReaderTrackOutput кажется, чтобы нормально работать на iOS, но должен ли он не документироваться. В зависимости от того, как реализовано AVFoundation, вы можете вызвать асинхронный доступ к AVAssetReader и AVAsset. Должно ли это работать? Никто не знает.
Чтобы быть действительно безопасным вы должны создать два AVAssetReaders и даже два AVAssets (они, вероятно, просто AVURLAssets).
Я бы рекомендовал сделать 2 читателя, возможно, я допустил некоторые ошибки, но у меня было странное поведение при использовании только одного. – TurqMage
Какое странное поведение? [AVAssetReader initWithAsset] сбои? –
Исключения при запуске и сбоях инициализации, я не записывал, какие были точные ошибки. Я делал это больше из любопытства, чем необходимость. – TurqMage