dailymotion api 初玩

dailymotion api initial play

我正在尝试使用 dailymotion api,但在 mac 上使用 iphone 和 chrome 时遇到问题。

在 chrome 中,我将自动播放设置为 true,它应该可以工作,但没有。当我加载播放器时,我在顶部看到一个 "play" 按钮用于闪光灯。而且我不能使用游戏api。单击此按钮后,我可以正常使用 api。 html 版本在 chrome.

上根本不起作用

还有 iPhone,我知道自动播放应该不起作用,这是正常的。但是,如果我使用 api 播放,它会在容器内显示另一个按钮,我需要单击该按钮,否则视频将无法播放。再次完成初始点击后,使用 api 的 play/pause 将正常工作。

我的代码:

<!DOCTYPE html>
<html>
<head>
    <title>test dailymotion</title>
    <script src="https://api.dmcdn.net/all.js"></script>
</head>
<body>

    <div id="player-dailymotion"></div>
    <button id="play">Play</button>
    <button id="pause">Pause</button>

</body>
<script type="text/javascript">

//Give time to load dailymotion script
setTimeout(function() {
    DM.init({
    apiKey: '',
    status: false, // check login status
    cookie: true // enable cookies to allow the server to access the session
});

var player = DM.player(
    document.querySelector('#player-dailymotion'), 
    {
        video: 'x1safo9',
        width: '400px',
        height: '200px',
        params: {
            autoplay: 1,
            chromeless: 1
        }
    }
);

document.querySelector('#play').addEventListener('click', function() {
    console.log('click on play');
    player.play();
});

document.querySelector('#pause').addEventListener('click', function() {
    console.log('click on pause');
    player.pause();
});

}, 1000);


</script>
</html>

jsfiddle 上的示例:

https://jsfiddle.net/uq8gftcy/1/

有没有办法使用 api 在 iPhone 上第一次启动视频?为什么自动播放在我的 chrome mac 上不起作用?

[更新] 我发现一篇文章谈论 chrome 更新,他们现在默认阻止所有 Flash 内容。那我怎样才能使用 dailymotion html 版本呢?

你的两个问题是视频播放器的正常行为:

  • 在 chrome 上自动播放:chrome 会在特定大小下阻止 Flash 播放器,因此需要用户交互才能播放视频。尝试设置更大的播放器(如 738x432),您将获得预期的行为。
  • 关于 iOS:这是一个 iOS 限制。从播放器 iframe 外部的按钮调用 play() 不被视为真正的用户交互,因此您必须等待用户触摸播放器的开始屏幕。有关更多详细信息,请参阅 Dailymotion embedded player on iOS devices (HTML5)

您可以查看其他视频提供者,其行为与 OS / 浏览器的选择有关。