我有以下init:
Player.init(element.id, playerId, () => {
this.onReady(videoId, socket)
})
和回调:
onReady(videoId, socket){
let msgContainer = document.getElementById("msg-container")
let msgInput = document.getElementById("msg-input")
let postButton = document.getElementById("msg-submit")
let vidChannel = socket.channel("videos:" + videoId)
postButton.addEventListener("click", e => {
let payload = {body: msgInput.value, at: Player.getCurrentTime()}
vidChannel.push("new_annotation", payload)
.receive("error", e => console.log(e) )
msgInput.value = ""
})
msgContainer.addEventListener("click", e => {
e.preventDefault()
let seconds = e.target.getAttribute("data-seek") ||
e.target.parentNode.getAttribute("data-seek")
if (!seconds) { return }
Player.seekTo(seconds)
})
...
}
然而,当Player.getCurrentTime()函数调用正常工作时,Player.seekTo函数失败并显示_player2.default.seekTo is not a function
。
编辑:我也尝试过使用seekahead参数,结果相同。
答案 0 :(得分:1)
来自YouTube的documentation,cell 4
有两个参数需要设置。
player.seekTo(seconds:Number, allowSeekAhead:Boolean)
参数,用于标识玩家应该前进的时间。和
seconds
参数确定如果allowSeekAhead
参数指定的时间超出当前缓冲的视频数据,播放器是否会向服务器发出新请求。所以你的代码必须如下所示:
seconds
有关详细信息,请查看此问题: