Я обнаружил некоторые странности о форматах аудиофайлов, и мне было любопытно, может ли кто-нибудь мне помочь. Итак, я создаю приложение musi c, которое воспроизводит несколько файлов одновременно, используя AVAudioEngine
. Подключаю к микшеру inputNode и несколько AVAudioPlayerNodes
. Я могу воспроизводить все файлы сразу, и при нажатии кнопки записи он устанавливает кран на этом микшере. Все это прекрасно работает. В моем приложении в папке .documents создается аудиофайл, содержащий как файлы воспроизведения, так и входные данные с mi c или внешнего аудиоинтерфейса. Однако теперь наступает сложная часть.
Каждый раз, когда я записываю записанный аудиофайл в виде файла .wav со стандартной частотой дискретизации и 2 каналами, я не могу воспроизвести свои файлы с помощью Itunes (теперь это называется musi c, наверное). Он просто открывает файл, а в нем как будто нет данных. То же самое, когда я проигрываю записанный файл в своем приложении, используя AVAudioPlayer
или AVAudioPlayerNode
. У меня есть отдельный ViewController, который извлекает все записанные файлы в папке, а затем пользователь может воспроизвести их запись. Но и здесь файл .wav молчит. Никаких ошибок не выдает, но просто не играет. Я проверил тома и все такое ...
Я пробовал несколько разных форматов, например .mp3, .mp4, .aa c, и все они выдают мне ошибки при записи или при чтении в приложении. Единственный подходящий тип файла - это .caf. Это работает в приложении, и я также могу открыть его с помощью чего-то вроде logi c pro X. Но это не кажется очень удобным для пользователя, поскольку это не очень распространенный формат. Предположительно, если я когда-нибудь сделаю это приложение кроссплатформенным, это вызовет у меня проблемы.
В любом случае мой вопрос, я что-то забыл? Я полагаю, что .wav - очень распространенный формат, который можно играть где угодно. Но у меня это просто не работает.
Надеюсь, кто-нибудь сможет помочь. Спасибо!