аудио тег не работает в Google Chrome - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь передать аудиофайл в Google Chrome.Файл размещен на сервере wildfly.Ниже приведен пример кода

<html>
<head>
    <title>Audio Demo</title>
    <script type="text/javascript">
        function updateSource(){
            var audio = document.getElementById('wavSource');
            audio.src = 'https://SERVER_URL:8443/FILE_PATH/FILE_NAME.wav';
            var a = document.getElementById('audio');
            a.load();
        }
    </script>
</head>
<body>
    <audio id="audio" controls="controls">
        <source id="wavSource" src="" type="audio/wav"></source>
        Your browser does not support the audio format.
    </audio>
    <button onclick="updateSource();">Item1</button>
</body>

При нажатии кнопки для audio.src устанавливается указанный файл.Этот пример кода отлично работает в Firefox, но не работает в Google Chrome.Если я вставляю ссылку на аудиофайл во вкладку, то также ничего не происходит (невозможно воспроизвести), но я могу сохранить файл.

На стороне сервера создается мягкая ссылка в каталоге deploy , которая указывает на местоположение аудиофайла.

Некоторые другие вещи , которые я заметил, это то, что если я объединяю аудиофайл в EAR, то я могу получить к нему доступ.Теперь, когда аудиофайл генерируется на лету в другом месте, для которого я создал программную ссылку в каталоге развертывания.В этом случае я не могу играть в нее.

Может кто-нибудь сказать мне, что я делаю неправильно?

Спасибо

Ответы [ 3 ]

0 голосов
/ 24 июня 2018

Ваш пример кода работает так, как я проверил его с аудио источником .wav, как вы можете видеть ниже. Проверьте фактический файл на вашем сервере, который вы хотите воспроизвести, доступен ли он, воспроизводим и является ли он настоящим .wav-файлом.

Если это не работает в вашем Google Chrome, полностью очистите кэш , обновите его, перезагрузите компьютер и проверьте снова.Это должно сработать.

Хотя, пожалуйста, поместите ваш скрипт внизу тега body:

<html>
<head>
    <title>Audio Demo</title>    
</head>
<body>
    <audio id="audio" controls="controls">
        <source id="wavSource" src="" type="audio/wav"></source>
        Your browser does not support the audio format.
    </audio>
    <button onclick="updateSource();">Update Source</button>
    <script type="text/javascript">
        function updateSource(){
            var audio = document.getElementById('wavSource');
            audio.src = 'http://www.wavsource.com/snds_2018-06-03_5106726768923853/people/men/about_time.wav';
            
            var a = document.getElementById('audio');
            a.load();
        }
    </script>
</body>
</html>

Источник: WavSource.com

0 голосов
/ 29 июня 2018

Я наконец-то решил проблему. Это связано с Wildfly 10.0.0. См. эту ссылку.

0 голосов
/ 24 июня 2018

хорошо, ваш код выглядит хорошо. Я попробовал это с различными аудио файлами, и это работает. Я думаю, что проблема должна быть с вашим аудиофайлом или путем.

...