Аудиосистема Android может воспроизводить и записывать аудиосигналы через самые разные каналы, периферийные устройства и конфигурации. Ручная проверка базовых возможностей аудиосистемы в сложной системе — медленный и утомительный процесс. Для решения этой проблемы CTS Verifier реализует несколько тестов каналов передачи данных , которые автоматически проверяют базовые возможности аудиосистемы через большое количество каналов и конфигураций.
Тестирование аудиопотоков включает три области:
- Разъем для аналоговых наушников, если имеется.
- Траектория подключения динамика и микрофона на устройстве
- Путь к USB-аудиопериферийному устройству (USB-гарнитура и USB-аудиоинтерфейс)

Рисунок 1. Панель со списками проверок путей передачи аудиоданных.
Общие элементы
Перед запуском теста на тестовой панели отображается следующее:
Список аудиоатрибутов и информация о том, поддерживаются ли они тестируемым устройством. Этот список определяет, какие пути передачи данных и спецификации атрибутов могут быть выполнены. Например, пути передачи данных или атрибуты для путей MMAP не выполняются на устройствах, не поддерживающих MMAP.
- Микрофон — тестируемое устройство имеет встроенный микрофон.
- Динамик — тестируемое устройство имеет встроенный динамик.
- MMAP — тестируемое устройство поддерживает аудиорежим MMAP.
- MMAP Exclusive — Исследуемое устройство поддерживает аудиорежим MMAP Exclusive.
Подборка аудио API
- Java API — Воспроизведение и запись осуществляются с помощью Java Audio API.
- Нативный API — воспроизведение и запись осуществляются с помощью нативного аудио API.
Кнопка «Калибровка звука» позволяет вызвать панель калибровки аудиопетли и установить уровень сигнала перед запуском тестов.
Кнопки процесса тестирования:
Старт — запускает последовательность тестирования. Проверяются все проверяемые, но неисправные пути передачи данных или конфигурации.
Отмена - Останавливает текущую последовательность тестирования.
Очистить результаты — очищает код результата для всех путей данных. Эта опция позволяет запустить полную последовательность тестов после предыдущих тестов, которые могли завершиться неудачей.
Панель отображения сигнала (осциллограф). На этой панели отображается сигнал во время проведения тестов. Отображаемый сигнал, не представляющий собой чистую синусоидальную волну высокой амплитуды, указывает на проблему в тракте передачи данных.
Количество отображаемых выборок меняется в зависимости от пути передачи данных или конфигурации, поэтому появление разного количества циклов синусоидальной волны является нормальным явлением.
Список тестируемых трактов передачи данных или спецификаций конфигурации. Здесь перечислены возможные конфигурации для запуска на аудиоинтерфейсе ввода-вывода, связанные с выбранным тестом трактов передачи данных. Тракты передачи данных или конфигурации, допустимые для тестируемого устройства и доступных периферийных устройств, подключенных к нему, отмечены звездочкой вместе со статусом теста ( ПРОЙДЕНО , НЕ ПРОЙДЕНО или НЕ ПРОВЕРЕНО ).
Во время выполнения теста текущий путь к данным или конфигурация обозначается символами >> <<, окружающими спецификацию.
Для получения более подробной информации см. рисунок ниже:

Рисунок 2. Тестовая панель трактов аудиоданных.
Тест аналогового разъема для аудиоканалов
Тест аналогового разъема аудиоканала проверяет базовые возможности передачи звука через аналоговый разъем гарнитуры. Если тестируемое устройство не имеет аналогового разъема для гарнитуры, автоматически подтверждается результат «ПРОЙДЕНО» .
Необходимые периферийные устройства
Дополнительную информацию см. в разделе «Плагин обратной связи аудио» .
На следующих рисунках показаны экраны результатов проверки аудиоразъема аудиоканала до и после ее завершения:

Рисунок 3. Тест аналогового разъема аудиоканала готов к запуску.

Рисунок 4. Проверка аналогового разъема аудиоканала после успешного завершения.
Для запуска теста аналогового разъема аудиоканала выполните следующие действия:
- Вставьте петлевой разъем в аналоговый разъем для наушников на тестируемом устройстве. Список тестов обновится, отображая допустимые пути передачи данных.
- Используйте панель калибровки аудиопетли , чтобы установить соответствующий уровень сигнала.
Нажмите «Старт» . Тест проходит по каждому каналу передачи данных или конфигурации и измеряет амплитуду сигнала и дрожание, чтобы определить, правильно ли работает канал передачи данных или конфигурация.
Вы можете следить за отображением сигнала, чтобы визуально определить, корректен ли сигнал. После выполнения теста отображается результат для каждого пути передачи данных или конфигурации.
После завершения последовательности тестирования отображение сигнала и трактов данных или списка конфигураций заменяется панелью с результатами. Сбои в отдельных частях неудачного теста (например, по амплитуде или дрожанию) отображаются красным текстом вместе с невыполненным пороговым значением или требованием.
В зависимости от ситуации нажмите кнопку «ПРОЙДЕНО» или «ПРОЙДЕНО» .
Проверка динамиков и микрофонов на наличие аудиоканалов.
Тестирование динамиков и микрофонов, проверяющее работу аудиоканалов, позволяет оценить базовые возможности воспроизведения звука через встроенные в устройство динамики и микрофон.
Необходимые периферийные устройства
Для этого теста не требуются никакие внешние периферийные устройства.
На следующих рисунках показаны экраны результатов проверки динамика и микрофона аудиотрактов до и после завершения проверки. Ошибки отмечены красным цветом:

Рисунок 5. Тестирование динамика и микрофона на наличие аудиоданных, готовое к запуску.

Рисунок 6. Проверка динамика и микрофона в тракте аудиоданных после успешного завершения.
Для запуска теста динамика и микрофона в трактах передачи аудиоданных:
- Разместите тестируемое устройство на ровной поверхности стола в тихом месте. Громкие звуки во время проведения теста могут помешать анализу записанного звука.
- Используйте панель калибровки аудиопетли , чтобы установить соответствующий уровень сигнала.
Нажмите «Старт» . Тест проходит пошагово через каждый тракт передачи данных или конфигурацию, измеряя амплитуду сигнала и дрожание, чтобы определить, правильно ли работает тракт передачи данных или конфигурация.
Вы можете следить за отображением сигнала, чтобы визуально определить, корректен ли сигнал. Тест отображает результат для каждого пути передачи данных или конфигурации по мере выполнения последовательности тестирования.
После завершения последовательности тестирования отображение сигнала и трактов данных или списка конфигураций заменяется панелью с результатами. Сбои в отдельных частях неудачного теста (например, по амплитуде или дрожанию) отображаются красным текстом вместе с невыполненным пороговым значением или требованием.
В зависимости от ситуации нажмите кнопку «ПРОЙДЕНО» или «ПРОЙДЕНО» .
Проверка USB-трактов передачи аудиоданных
Тестирование аудиоканалов USB проверяет базовые возможности передачи звука через USB-аудиоустройство (USB-гарнитура и USB-аудиоинтерфейс).
Необходимые периферийные устройства
Дополнительную информацию см. в разделе «USB-аудиоинтерфейс» .
На следующих рисунках показаны экраны результатов теста USB-трактов аудиоданных до и после его завершения:

Рисунок 7. Тестирование USB-тракта передачи аудиоданных, готовое к запуску.

Рисунок 8. Тестирование USB-тракта передачи аудиоданных после успешного завершения.
Для запуска теста USB-трактов передачи аудиоданных:
Подключите USB-аудиоустройство к тестируемому устройству. Тестовую последовательность необходимо запускать отдельно для каждого из следующих случаев:
- USB-аналоговый адаптер для гарнитуры с вставленным разъемом для обратной связи.
- USB-аудиоинтерфейс с соединительными кабелями, подключающими выходы к входам.
Используйте панель калибровки аудиопетли , чтобы установить соответствующий уровень сигнала.
Нажмите «Старт» . Тест проходит пошагово через каждый тракт передачи данных или конфигурацию, измеряя амплитуду сигнала и дрожание, чтобы определить, правильно ли работает тракт передачи данных или конфигурация.
Вы можете следить за отображением сигнала, чтобы визуально определить, корректен ли сигнал. Тест отображает результат для каждого пути передачи данных или конфигурации по мере выполнения последовательности тестирования.
После завершения последовательности тестирования отображение сигнала и трактов данных или списка конфигураций заменяется панелью с результатами. Сбои в отдельных частях неудачного теста (например, по амплитуде или дрожанию) отображаются красным текстом вместе с невыполненным пороговым значением или требованием.
Повторите шаги с 1 по 3 для непроверенного USB-периферийного устройства.
В зависимости от ситуации нажмите кнопку «ПРОЙДЕНО» или «ПРОЙДЕНО» .
Интерпретируйте результаты теста.
Для каждой конфигурации на выходе генерируется синусоидальный сигнал, а входной сигнал захватывается. Тест пытается обнаружить на входе синусоидальный сигнал с той же частотой, что и генерируемый тон.
Для каждой конфигурации отображаются измерения амплитуды и дрожания , определяемые следующим образом:
Величина : Величина (или уровень) входного синусоидального сигнала анализируется аналогично быстрому преобразованию Фурье (БПФ). Если величина слишком низкая, это может означать, что сигнал заблокирован или что определенный канал не работает. Это также может означать, что выходной уровень громкости или входное усиление слишком низкие. Для прохождения проверки величина должна быть на определенном уровне.
Джиттер : Фаза захваченной синусоидальной волны также измеряется относительно сгенерированного сигнала. Постоянная относительная фаза указывает на то, что захваченный сигнал соответствует сгенерированному сигналу. Если относительная фаза изменяется, это означает либо искажение сгенерированного сигнала, либо захват другого сигнала, например, шума. Изменения относительной фазы называются джиттером .
Если на вход поступает просто громкий шум, то его амплитуда может быть высокой, поскольку шум может содержать все частоты синусоидальной волны. В этом случае анализатор не может зафиксировать сгенерированную синусоидальную волну, что приводит к высокому уровню дрожания.
В следующей таблице представлены результаты для различных комбинаций измерений амплитуды и дрожания:
| Величина | Дрожь | Результат | Интерпретация |
|---|---|---|---|
| Высокий | Низкий | ПРОХОДИТЬ | Записывается чистая версия выходного синусоидального сигнала. |
| Высокий | Высокий | НЕУДАЧА | Зафиксирован громкий шум или сильно искаженный сигнал. |
| Низкий | Низкий | НЕУДАЧА | Чистый сигнал записывается на слишком низком уровне. |
| Низкий | Высокий | НЕУДАЧА | Захватывается тихий сигнал, который искажен или зашумлен. |
Если тест CTS Verifier не проходит, запустите тест Data Paths в последней версии OboeTester . Инструмент OboeTester выводит подробный отчет и может помочь вам в отладке проблемы.