Я работаю над двумя смежными проектами, веб-страницей и приложением в Electron, среди прочего, оба должны воспроизводить видео Youtube, встроенные в iframe.На сайте все отлично работает,
var newUrl = 'http://www.youtube.com/embed/' + $scope.youtube_parser(video.url);
$scope.videoURL = $sce.trustAsResourceUrl(newUrl + '?enablejsapi=1&showinfo=0&rel=0');
$scope.setYTPlayer();
$scope.setYTPlayer = function(){
$scope.player;
$scope.player = new YT.Player('player', {
height: '360',
width: '640',
videoId: $scope.videoSelected,
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
<iframe id="player" frameborder="0" allowfullscreen ng-src="{{videoURL}}" style="width: 100%;height: 100%;"></iframe>
, но в приложении Electron многие видео не воспроизводятся, на проигрывателе читается сообщение: «видео недоступно»
var youtubeId = $scope.getYoutubeId(video.url)
$scope.currentVideo = $sce.trustAsResourceUrl(
'https://www.youtube.com/embed/' + youtubeId + '?rel=0'
)
<iframe width="100%" height="442" ng-src="{{ currentVideo }}" frameborder="0" allowfullscreen></iframe>
Захват плеера
По той же ссылке, с тем же методом, на странице воспроизводится без проблем.Попробуйте только с iframe, с api, измените параметры воспроизведения и проблема продолжится.Вопрос в том, существует ли какая-либо политика Youtube, запрещающая воспроизведение видео в определенных местах?Или в чем может быть ошибка?
Электронная версия: v3.0.3
Спасибо и извинения, если я не могу хорошо выразить себя.