0

我正在通過編程鳳凰書,我得到了與YouTube視頻播放器錯誤。編程鳳凰城YouTube視頻錯誤 - 視頻不會播放

這是我的web/static/js/player.js文件:

let Player = { 
    player: null, 

    init(domId, playerId, onReady){ 
    window.onYouTubeIframeAPIReady =() => { 
     this.onIframeReady(domId, playerId, onReady) 
    } 
    let youtubeScriptTag = document.createElement("script") 
    youtubeScriptTag.src = "//www.youtube.com/iframe_api" 
    document.head.appendChild(youtubeScriptTag) 
    }, 

    onIframeReady(domId, playerId, onReady){ 
    this.player = new YT.Player(domId, { 
     height: "360", 
     width: "420", 
     videoId: playerId, 
     events: { 
     "onReady": (event => onReady(event)), 
     "onStateChange": (event => this.onPlayerStateChange(event)) 
     } 
    }) 
    }, 

    onPlayerStateChange(event){ }, 
    getCurrentTime(){ return Math.floor(this.player.getCurrentTime() * 1000) }, 
    seekTo(millsec){ return this.player.seekTo(millsec/1000) } 
} 
export default Player 

,我將其導入像這樣web/static/js/app.js: 「玩家準備」

import Player from "./player" 
let video = document.getElementById("video") 

if(video) { 
    Player.init(video.id, video.getAttribute("data-player-id"),() => { 
    console.log("player ready!") 
    }) 
} 

我看到了消息在JavaScript控制檯中;但是,視頻不會播放。他們給我看起來像這樣的錯誤:

enter image description here

我怎樣才能解決這個問題,使視頻將發揮?

回答

1

錯誤實際上是從我的手錶觀點 - 我忘了在正則表達式中的問號<id>之前所以player_id沒有被正確設置:

defmodule Rumbl.WatchView do 
    use Rumbl.Web, :view 

    def player_id(video) do 
    ~r{^.*(?:youtu\.be/|\w+/|v=)(?<id>[^#&?]*)} 
    |> Regex.named_captures(video.url) 
    |> get_in(["id"]) 
    end 
end