Russian Qt Forum
Май 14, 2024, 01:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QAudioRecorder: Запись wav, mp3 и ogg  (Прочитано 3764 раз)
cydeamon
Гость
« : Сентябрь 25, 2014, 15:45 »

Всем привет.
Пытаюсь реализовать запись звука с помощью QAudioRecorder в форматах mp3, wav и ogg.
QAudioRecorder::supportedAudioCodecs() говорит что единственный возможный кодек это audio/pcm.

Википедия говорит что для mp3 правильно использовать audio/mpeg, audio/MPA и audio/mpa-robust. Но я не знаю где найти этого зверя и в каком лесу он бродит, тоесть что подключить и где найти. С ogg тоже самое.

При записи с указанием расширения wav всё записывается правильно и никакого второго файла не создается.

При записи с указанием расширения mp3 программа создает два файла: имяФайла.mp3 и имяФайла.mp3.wav. Первый файл пустой (причем, при удалении жалуется что он используется программой), второй не пустой и вполне воспроизводится.
При удалении из него расширения wav (тоесть: до - имяФайла.mp3.wav, после - имяФайла.mp3) он воспроизводится. Но я думаю что дело в плеере которым я воспроизвожу, тоесть он определяет формат не по имени, а по содержимому и файл на деле является wav файлом с неправильным расширением. Тоесть не факт что всё происходит правильно.

Собственно вопросы:
То что я сделал для mp3 это ведь ошибка, и я прав что дело в плеере?
Где найти или как называется библиотека или что надо подключить в *.pro для того, чтобы упомянутые кодеки стали доступными и запись проходила правильно?
« Последнее редактирование: Сентябрь 25, 2014, 15:51 от Cydeamon » Записан
carrygun
Гость
« Ответ #1 : Сентябрь 26, 2014, 04:26 »

Судя по документации - необходимо писать свой плагин для нужного кодека.

supportedAudioCodecs() возвращает формат поддерживаемый устройством, вам надо программно конвертировать в mp3, например, используя LAME.
« Последнее редактирование: Сентябрь 26, 2014, 04:34 от carrygun » Записан
cydeamon
Гость
« Ответ #2 : Сентябрь 27, 2014, 15:12 »

Сначала обрадовался, работало. Когда отвязал от Creator, программа разучилась находить устройства. QAudioRecorder::audioInputs.count() возвращает ноль.
« Последнее редактирование: Октябрь 02, 2014, 00:40 от Cydeamon » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 21.