Android HTML / JS Звук приложения воспроизводится неправильно - PullRequest
0 голосов
/ 29 мая 2020

Я создал для себя какое-то 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...