首先,我要说的是,我意识到这个问题已经老了,已经有了可以接受的答案。但是,作为一个不幸的互联网用户,使用此问题作为一种手段,只是在证明之后不久(但不是在我让客户感到有点不适之前)才被证明是错误的,我想补充一下我的想法和建议。
尽管@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"
});
在页面上隐藏该内容后,当用户“单击”以观看电影时(仍然是用户交互,无法绕开该要求),而不是导航到辅助观看页面,而是加载隐藏的视频。这主要是因为没有真正使用media标签,而是将其升级为Quicktime实例,因此根本不需要可见的视频元素。在处理程序中进行“点击”(或移动设备上的“ 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();
});
还有中提琴 就UX而言,用户单击视频即可播放,而Quicktime将打开播放他们选择的视频。这仍然处于视频只能通过用户操作播放的限制之内,因此我不会强迫任何不打算使用此服务观看视频的人提供数据。我在尝试弄清YouTube如何通过其移动设备成功实现这一点时发现了这一点,这本质上是一些非常不错的Javascript页面构建和精美元素的隐藏,例如在视频标签的情况下。
tl; dr这是一种“解决方法”,可以尝试在iOS设备上创建“自动播放” UX功能,而不会超出Apple的限制,并且仍然让用户决定是否要观看视频(或最喜欢的音频,尽管我自己进行了测试,而没有未经他们的允许才进行加载。
另外,对于那些评论来自sleep.fm的人,不幸的是,这仍然不能解决您的问题,因为这是基于时间的音频播放。
我希望有人发现此信息有用,这将使我节省了一周的不可靠消息传递给一位坚称他们具有此功能的客户,而我很高兴找到一种最终传递它的方法。
编辑
进一步的发现表明上述解决方法仅适用于iPhone / iPod设备。iPad在全屏显示之前会在Safari中播放视频,因此您需要某种机制来在播放前单击时调整视频大小,否则最终将获得音频而没有视频。