-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.js
72 lines (62 loc) · 1.72 KB
/
search.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var videoToPlay;
// After the API loads, call a function to enable the search box.
function handleAPILoaded() {
search();
setTimeout(400);
loadPlayer();
}
function loadPlayer() {
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
};
// Search for a specified string.
function search() {
// var q = $('#query').val();
var q = 'mets daily recap'
var request = gapi.client.youtube.search.list({
q: q,
part: 'snippet',
channelId: 'UCoLrcjPV5PbUrUyXq5mjc_A',
order: 'date'
});
request.execute(function(response) {
videoToPlay = getLatestVideo(response);
});
}
// Get Latest video
function getLatestVideo(json) {
return json.items[0].id.videoId;
};
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: videoToPlay,
events: {
'onReady': onPlayerReady
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.playVideo();
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 6000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}