diff --git a/src/angular-youtube-embed.js b/src/angular-youtube-embed.js index cb7592d..0587570 100644 --- a/src/angular-youtube-embed.js +++ b/src/angular-youtube-embed.js @@ -192,11 +192,15 @@ angular.module('youtube-embed', []) function loadPlayer () { if (scope.videoId || scope.playerVars.list) { - if (scope.player && typeof scope.player.destroy === 'function') { - scope.player.destroy(); + if (scope.player) { + // player already exists do not replace instead use old player + if(scope.playerVars.list) + scope.player.loadPlaylist({ list: scope.playerVars.list, index: 0, suggestedQuality: "default"}); + else + scope.player.loadVideoById(scope.videoId, 0, 'default'); + } else { + scope.player = createPlayer(); } - - scope.player = createPlayer(); } }; diff --git a/src/demo/advanced.html b/src/demo/advanced.html index e4a4a41..a5b38a4 100644 --- a/src/demo/advanced.html +++ b/src/demo/advanced.html @@ -44,6 +44,16 @@

playlist

+
+

dynamic playlist id

+
+ +
+
+ +
+
+

dynamic video id

diff --git a/src/demo/the.js b/src/demo/the.js index ea8baf6..e1f5002 100644 --- a/src/demo/the.js +++ b/src/demo/the.js @@ -70,6 +70,21 @@ myApp.controller('AdvancedCtrl', function ($scope) { } }; + var firstPlaylist = 'PLISo53ifQd_iBPpybJay-SCAULHsoRicc'; + var secondPlaylist = 'PLfKJ52Aom315E9RXmLkXeD3yS7rsIAgpQ' + $scope.dynamicPlaylist = { + vars: { + list: firstPlaylist + }, + change: function () { + if ($scope.dynamicPlaylist.vars.list === firstPlaylist) { + $scope.dynamicPlaylist.vars.list = secondPlaylist; + } else { + $scope.dynamicPlaylist.vars.list = firstPlaylist; + } + } + }; + var first = 'biZLZZFb468'; var second = 'lbVdyPZiOLM'; $scope.dynamic = {