Я создаю приложение для Nokia E63 с использованием Qt SDK.Я могу реализовать функциональность записи звука, реализовав класс, который наследует QIODevice .Каждый раз, когда аппаратное обеспечение телефона считывает новые аудиосэмплы, оно отправляет их на мой QIODevice
для записи.
Моя целевая частота записи составляет 16000 Гц, но устройство поддерживает только 8000 Гц и 48000 Гц.Я выбрал запись на 48000, а затем повторил выборку до 16000 Гц.Этот метод записывает нормально, за исключением примерно 10 секунд, или телефон ломается!Я предполагаю, что причина этого в том, что функция записи в моем QIODevice
не может идти в ногу со скоростью, с которой производятся новые образцы (48000 Гц).Причина, по которой метод записи не может идти в ногу, состоит в том, что он имеет дополнительные накладные расходы на повторную выборку.
Поможет ли реализация повторной выборки и записи сэмплов в функции файла в отдельном потоке?
В функции записи записи QIODevice
я просто копирую семпл в буфер, а затем мой поток повторной выборки обходит буфер повторной выборки и записывает в файл.Будет ли этот метод работать?