我想首先说我意识到这个问题已经过时并且已经有了一个公认的答案;但是,作为一个不幸的互联网用户,使用这个问题作为结束只是在不久之后(但不是在我让我的客户有点不安之前)被证明是错误的手段,我想添加我的想法和建议。
虽然@DSG 和@Giona 是正确的,并且他们的答案没有任何问题,但您可以使用一种创造性的机制来“绕过”,可以说是这个限制。这并不是说我纵容规避此功能,恰恰相反,只是一些机制让用户仍然“感觉”好像视频或音频文件是“自动播放”。
快速的解决方法是在移动页面的某处隐藏一个视频标签,因为我建立了一个响应式网站,我只为较小的屏幕这样做。视频标签(HTML 和 jQuery 示例):
HTML
<video id="dummyVideo" src="" preload="none" width="1" height="2"></video>
jQuery
var $dummyVideo = $("<video />", {
id: "dummyVideo",
src: "",
preload: "none",
width: "1",
height: "2"
});
在页面上隐藏的情况下,当用户“点击”观看电影(仍然是用户交互,无法绕过该要求)而不是导航到辅助观看页面时,我会加载隐藏的视频。这主要是因为媒体标签并未真正使用,而是提升为 Quicktime 实例,因此根本不需要可见的视频元素。在“click”(或移动设备上的“touchend”)的处理程序中。
$(".movie-container").on("click", function() {
var url = $(this).data("stream-url");
$dummyVideo.attr("src", url);
$dummyVideo.get(0).load(); // required if src changed after page load
$dummyVideo.get(0).play();
});
还有中提琴。就用户体验而言,用户单击要播放的视频,Quicktime 打开播放他们选择的视频。这仍然在视频只能通过用户操作播放的限制范围内,因此我不会强迫任何不决定使用此服务观看视频的人提供数据。我在试图弄清楚 Youtube 究竟是如何通过他们的手机实现这一点时发现了这一点,这本质上是一些非常好的 Javascript 页面构建和花哨的元素隐藏,就像在视频标签的情况下一样。
tl;dr 这是一个有点“解决方法”,可以尝试在 iOS 设备上创建“自动播放”UX 功能,而不会超出 Apple 的限制,并且仍然让用户决定是否要观看视频(或最喜欢的音频,尽管我'没有测试)自己没有未经他们的许可刚刚加载。
此外,对于来自 sleep.fm 的评论者,不幸的是,这仍然不能解决您的问题,即基于时间的音频播放。
我希望有人觉得这些信息有用,它可以为我节省一周的坏消息传递给一个坚持认为他们有这个功能的客户,我很高兴最终找到一种方法来传递它。
编辑
进一步发现表明上述解决方法仅适用于 iPhone/iPod 设备。iPad 在全屏之前在 Safari 中播放视频,因此您需要一些机制来在播放前调整视频的点击大小,否则您最终会得到音频而没有视频。