Воспроизведение аудио последовательно с предопределенной продолжительностью телефонного разговора Android

Я работаю над Intel xdk, который основан на phonegap 3.5.1. Тестирование на андроиде 4.4.4 и 5.0.1

Используя media api, я пытаюсь воспроизвести звук в течение определенной продолжительности, после чего должен начаться следующий звук и, таким образом, зациклиться.

Для этого я использую setTimeout для задержки до окончания одного звука.

Звук также должен воспроизводиться в фоновом режиме.

Теперь проблема в том, что даже когда звук воспроизводится и зацикливается, как и ожидалось, setTimeout не срабатывает в фоновом режиме, и звук продолжает воспроизводиться.

Кроме того, результаты противоречивы, достаточно точны для Android 4.4.4, но сильно различаются для Android 5.0.1.

Пожалуйста, подскажите, что делать? Могу ли я буферизовать аудио или объединить аудиофайлы, чтобы подготовить один файл с определенной продолжительностью, а затем воспроизвести весь файл? Если да, то как?


person pratiti-systematix    schedule 31.12.2014    source источник


Ответы (1)


Проблема в том, что когда ваше приложение находится в фоновом режиме, выполнение JS приостанавливается в WebView. Вот почему setTimeout не сработает.

Был еще один похожий вопрос - Задание таймера в фоновом режиме Javascript или Cordova Приложение У них есть ссылки на плагин, который вы можете использовать для фоновых служб, которые вам понадобятся для переключения звуковых дорожек.

person Ian Maffett    schedule 31.12.2014
comment
Этот плагин я уже использую, но время воспроизведения звука не соответствует Android 5.0.1. - person pratiti-systematix; 02.01.2015