我有一个带有音频元素的Web应用程序,当从gunicorn或开发服务器提供时,它可以在所有浏览器和平台上运行良好。
当与Nginx一起使用时,WAV文件将无法在IOS或Safari / OS X上播放。如果我在音频元素上启用“控件”,我会“加载”并且没有任何反应。没有错误,没有声音,没有。
相关的HTML / Javascript:
<audio id='audio' controls>
<source id='audioSource' src='' type='audio/wav'>
Your browser does not support this audio tag.
</audio>
<button type='button' onclick='previewSound()'><i class='fa fa-volume-up fa-lg'></i></button>
function previewSound() {
// Get the id of the message box
// which is also the id of the record
// and the name of the wav file. :)
var messageId = $('#messageSel').val();
if(messageId=='') return;
// Set up the audio element.
var myAudio = document.getElementById("audio");
var mySource = document.getElementById("audioSource");
mySource.src = '/dynamic/Message/' + messageId + '.wav';
// Play the sound
myAudio.load();
myAudio.play();
}
相关/ etc / nginx / sites-enabled / *:
server {
...
location /dynamic {
try_files $uri $uri/ =404;
}
...
}
相关/etc/nginx/mime.types:
audio/wav wav; /* also tried audio/x-wav wav; */
相关文件:
root@b827ebd0459d:/var/www/product/dynamic/Message# ls -al
total 1316
drwxrwxrwx 2 www-data www-data 4096 Jun 20 23:09 .
drwxrwxrwx 3 www-data www-data 4096 May 30 14:20 ..
-rw-rw-rw- 1 www-data www-data 229420 Jun 15 18:35 1.wav
-rw-rw-rw- 1 www-data www-data 344108 Jun 18 21:50 2.wav
-rw-rw-rw- 1 www-data www-data 753708 Jun 9 17:25 3.wav
任何疑难解答建议都表示赞赏。我已经阅读了其他类似的问题/答案,但它们似乎没有解决这个具体问题。
答案 0 :(得分:1)
有几个问题: 1)我的SSL证书不正确 2)当我的应用程序位于由{dns设置的https://someothername时,我的SSL证书使用了主机名。 3)我需要在设备上实际安装证书,而不是单击&#34;继续&#34;等。
解决了这些问题后,Safari / iOS / OS X正常运行。