Я хочу сделать Radio Web App на основе Android-браузера. Ключевой функцией моего веб-приложения является постоянное воспроизведение музыкального списка (файлы mp3)... Код JavaScript прост... И он хорошо работает в браузере ПК, iOS Safari и браузере Android Dolphin (сторонний браузер)...
var audioPlayer = new Audio();
audioPlayer.addEventListener('ended', nextSong, false);
function nextSong() {
audioPlayer.src = nextMusic_src;
}
Но. в браузере Android по умолчанию, когда Android находится в фоновом режиме (режим домашнего экрана и спящий режим с отключенным ЖК-дисплеем), onPause() браузера Android предотвращает «законченное» событие и выполнение nextSong(). Итак, мое веб-приложение может воспроизводить только одну музыку.... и больше не работает..... Исходный код браузера Android onPause() выглядит так...
BrowserActivity.java
public class BrowserActivity extends Activity
{
private Controller mController;
// ...
@Override
protected void onPause() {
if (mController != null) {
mController.onPause(); // <<==== here
}
super.onPause();
}
}
Контроллер.java
public class Controller implements WebViewController, UiController {
protected void onPause() {
// ...
mActivityPaused = true;
// ...
mUi.onPause();
mNetworkHandler.onPause(); // <<==== here
WebView.disablePlatformNotifications(); // <<====here
}
}
NetworkStateHandler.java
public class NetworkStateHandler {
// ...
void onPause() {
// unregister network state listener
mActivity.unregisterReceiver(mNetworkStateIntentReceiver); // <<==== here
}
}
Есть ли какая-либо политика браузера для предотвращения событий в фоновом режиме....? Если нет, как я могу заметить этот отчет разработчику Google о запросе воспроизведения фоновой музыки в веб-приложении...? Я рассматриваю не веб-приложение на основе WebView (гибрид), а только веб-приложение на основе браузера... спасибо...
Нохён Квак