Как получить расширение файла из AVAsset или AVAssetTrack

У меня есть аудиофайл (mp3, wav, aiff, ...) в папке AVAsset, затем я получаю AVAssetTrack.

Я ищу способ найти тип аудиофайла (mp3, wav, aiff, ...) из этого ресурса в формате Apple, таком как AVFileType или AudioFileTypeID?

На данный момент единственный способ получить тип аудиофайла, который я нашел, — это использовать свойство formatDescriptions для AVAssetTrack и получить подтип, как показано в documentation, но это не очень хорошо работает, так как я не могу определить, какой несжатый формат у меня есть (wav или aiff), потому что я просто получаю формат "lpcm"...

Нельзя ли получить AVFileType из AVAsset?


person DEADBEEF    schedule 06.11.2017    source источник


Ответы (1)


Как вы приобретаете актив? Вы можете попробовать выполнить приведение к AVURLAsset, получить URL-адрес и, наконец, pathExtension.

person George Brown    schedule 06.11.2017
comment
Спасибо, это действительно решение. Кстати, можем ли мы получить формат аудиофайла в формате Apple, например AVFileType или AudioFileTypeID? - person DEADBEEF; 06.11.2017
comment
Вы можете сравнить UTI с расширением, medium.com/ @francishart/ или stackoverflow.com/questions/31243371/ (последний ответ я считаю более правильным) - person George Brown; 06.11.2017
comment
Спасибо Джордж, это было то, что я искал! Когда я получаю строку uti, я могу создать AVFiletype с помощью init(rawValue:) - person DEADBEEF; 06.11.2017