【发布时间】:2022-08-15 23:00:34
【问题描述】:
我正在尝试在单击按钮时播放/暂停 mp3 HTML5 音频(具有 id \"playaudio\"),它在除 iOS Safari 之外的所有设备上都可以正常工作,它在控制台中的 Safari 上显示以下错误时点击播放按钮:
未处理的 Promise Rejection: NotSupportedError: 操作不是 支持的。\”
谁能告诉我为什么我只在 Safari 上遇到这个问题,我该如何解决?
let song = document.getElementById(\"testingsong\"); $(\'#playaudio\').click(function() { var clicks = $(this).data(\'clicks\'); if (clicks) { $(\".play\").css(\"display\", \"none\"); $(\".pause\").css(\"display\", \"block\"); song.play(); } else { $(\".play\").css(\"display\", \"block\"); $(\".pause\").css(\"display\", \"none\"); song.pause(); } $(this).data(\"clicks\", !clicks); });<audio id=\"testingsong\" src=\"/audio.mp3\"></audio>
-
您是否研究过错误并尝试了任何修复?一些答案指出问题是由于使用了a relative path in Safari,其他人说这可能是文件格式(尽管您似乎使用的是 MP3,我认为它得到了很好的支持,除非您使用的是奇怪的采样率或编码)
-
我已经搜索了很多有关该错误的信息,但没有找到任何说明确切错误的资源。是的,我尝试过对 mp3 也使用绝对路径,但仍然显示相同的错误
-
也许服务器发送了错误的
content-type- 检查 mp3 请求的响应标头 - 我很好奇:内容类型是什么 -
响应头中的内容类型是:
Content-Type: audio/mp3,在我的情况下这是正确的
标签: javascript jquery ios safari html5-audio