3
votes

The Flash YouTube API getPlayerState() method has 6 possible values:

  • -1 (unstarted)
  • 0 (ended)
  • 1 (playing)
  • 2 (paused)
  • 3 (buffering)
  • 5 (video cued).

The manual reads:

When the player first loads a video, it will broadcast an unstarted (-1) event. When a video is cued and ready to play, the player will broadcast a video cued (5) event. In your code, you can specify the integer values or you can use one of the following namespaced variables.

Consider this:

  1. The player is CUED waiting for user interaction.
  2. User clicks play
  3. Pre-roll video ad starts to play

What state is the player in during the pre-roll ad? How do I know an ad is being played?

1
Can't you just make a dev player that throws player info every second or something so you can watch the player state in realtime as you play with it?zebediah49
That will be my second action. You know, they have this button there that reads "Get Help". I clicked it and it landed me here. What a surprise! :)daniel.sedlacek

1 Answers

9
votes

I did the legwork for you at https://developers.google.com/youtube/youtube_player_demo

Cuing a video with a preroll and then clicking Play leads to:

  1. onStateChange event: Player state changed to: "-1" (undefined)
  2. cueVideoById(cggNqDAtJYU, parseInt(0), default);
  3. onStateChange event: Player state changed to: "5" (video cued)
  4. onStateChange event: Player state changed to: "2" (paused)

So the video's state is PAUSED (2) while the ad is playing. Additionally, calls to playVideo() or pauseVideo() will be no-ops during a preroll.