Узкое место ЦП телефона Nokia E63 - PullRequest
4 голосов
/ 15 ноября 2010

Я создаю приложение для Nokia E63 с использованием Qt SDK.Я могу реализовать функциональность записи звука, реализовав класс, который наследует QIODevice .Каждый раз, когда аппаратное обеспечение телефона считывает новые аудиосэмплы, оно отправляет их на мой QIODevice для записи.

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

Поможет ли реализация повторной выборки и записи сэмплов в функции файла в отдельном потоке?

В функции записи записи QIODevice я просто копирую семпл в буфер, а затем мой поток повторной выборки обходит буфер повторной выборки и записывает в файл.Будет ли этот метод работать?

1 Ответ

0 голосов
/ 08 мая 2011

Не знаю много о разработке Nokia, но я предполагаю, что в Nokia Qt SDK будет эмулятор телефона.Я бы сказал, сначала протестируйте его на эмуляторе, чтобы убедиться, что это не проблема с вашим кодом.Это может быть просто ошибка в вашем коде или даже ошибка в Qt.Также попробуйте на другом телефоне проверить, связана ли проблема с оборудованием.

...