我有一个(Wordpress)网站,我发布了mp3文件。每个页面都有一个mp3文件,可以通过按下载按钮下载,也可以在内置的mediaelement.js播放器上播放。
Mediaelement.js配置为首先尝试闪存,然后回退到html5音频。
此外,我需要确保mp3只能由登录用户下载。
我的nginx.conf中有以下规则:
location ~* \.(mov|mp3)$ {
if ($http_cookie !~ "wordpress_logged_in") {
return 403;
}
add_header Content-Disposition "attachment";
}
(单击下载按钮时,文件开始下载而不是播放需要add_header,该按钮是存储在服务器上的mp3文件的直接链接。)
现在,它在主要桌面浏览器中的整体效果很好(cookie检查,播放器,点击下载部分)。问题是 - 音频播放器无法在Android下的Chrome中播放音频(它使用html5音频而不是闪光灯) - 当我按下播放按钮时没有任何反应,好像播放器无法找到文件。下载按钮工作正常。
如果我删除了Cookie检查,则播放器会在Chrome / Android中按预期开始工作。
我有一种感觉,我在这个设置中遗漏了一些非常明显的东西,但不能完全指责它。我将不胜感激。