Я создал для себя какое-то AngularJS веб-приложение и хотел встроить его в APK, работающий через WebView. В настоящее время он работает, но у меня проблемы со звуками, которые не воспроизводятся правильно. На моем устройстве звуки воспроизводятся, но не каждый раз.
В основном это таймер, который должен воспроизводить 3 разных звука: «гудок», когда таймер показывает 3, 2 или 1, при переходе из одного состояния с другой - два разных звуковых эффекта. Я понял, что звуки проигрываются не каждый раз, почему-то звук есть на 3 и 2, а не на 1 (в браузере P C работает отлично), но если я нажимаю паузу, то каждый звук сразу после возобновление паузы воспроизводится правильно. Без этого звуковые эффекты воспроизводятся случайным образом, и я понятия не имею, почему ...
Вот как я создал функции, которые воспроизводят звук:
$scope.Beep = function () {
var audio = new Audio('file:///android_asset/beep.mp3');
audio.play();
};
$scope.WorkSound = function () {
var audio = new Audio('file:///android_asset/work.mp3');
audio.play();
};
$scope.RestSound = function () {
var audio = new Audio('file:///android_asset/rest.mp3');
audio.play();
};
Вот некоторые примеры использования :
$scope.$watch('counter', function () {
...
if ($scope.counter == 1 || $scope.counter == 2 || $scope.counter == 3) {
$scope.Beep();
}
...
});
var changeRound = function () {
$scope.currentRound++;
if ($scope.currentRound % 2 == 1) {
$scope.WorkSound();
$scope.counter = $scope.workTime;
} else {
$scope.RestSound();
$scope.counter = $scope.restTime;
}
}
Я просто не знаю, почему он отлично работает в браузере P C, но как только он попадает в приложение Android, он становится совершенно случайным ... Я искал какое-то решение в Google, но, к сожалению, безуспешно.
Изменить: просто протестировал его на моей веб-странице на Chrome Android, и он работает правильно. К сожалению, когда я открыл его в Messenger, и он только что был открыт каким-то браузером-мессенджером (я надеюсь, вы понимаете, что я имею в виду, потому что я понятия не имею, как это назвать), он работал в значительной степени случайным образом, как и в APK.