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 / 浏览器的选择有关。
我正在尝试使用 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 / 浏览器的选择有关。