AudioContext возвращает 0 после работы ранее - PullRequest
0 голосов
/ 29 января 2020

Не уверен, почему он больше не работает. Выполните бит javascript, чтобы проверить и убедиться, что звук воспроизводится должным образом. Это также используется с webrt c, частью аудио / видео чата. Текущий javascript код:

String script = "var callback = arguments[arguments.length-1];"
                + "var audioCtx = new window.AudioContext();"
                + "var analyser = audioCtx.createAnalyser();"
                + "var stream = "+streamJs+";"
                + "var source = audioCtx.createMediaStreamSource(stream);"
                + "source.connect(analyser);"
                + "analyser.fftSize = 256;"
                + "analyser.smoothingTimeConstant = 0.7;"
                + "setTimeout(() => {"
                + "var bufferLength = analyser.frequencyBinCount;"
                + "var dataArray = new Uint8Array(bufferLength);"
                + "analyser.getByteFrequencyData(dataArray);"
                + "audioCtx.close();"
                + "callback(Math.max(...dataArray));"
                + "}, 500);";
        browser.setAsyncScriptTimeout(5000);
        long maxFft = browser.executeAsyncJavascript(script);

stream Js извлекается из элемента тега video srcObject, который возвращает mediaStream, который я подтвердил вручную. Я отчетливо слышу звук, который воспроизводится, но ни один не обнаруживается даже в течение длительного периода времени. Попытался сделать это вручную, но безуспешно. Какие могут быть возможные ошибки, на которые я мог посмотреть?

...