2015-05-06 2 views
2

Я использую директиву «angualr-youtube-embed» для встраивания проигрывателя YouTube в мое угловое веб-приложение. В этом я должен идентифицировать события воспроизведения, паузы и изменения громкости. Для прослушивания событий воспроизведения и паузы я использую приведенный ниже код.Как определить изменение объема в проигрывателе YouTube

$scope.$on('youtube.player.playing', function ($event, player) { 
    // to do functions when the video is playing. 
    }); 

    $scope.$on('youtube.player.paused', function ($event, player) { 
    // to do functions when the video is paused. 
    }); 

Теперь мое требование, я хочу сделать некоторые работы при изменении громкости в YouTube Player, мне нужно, чтобы определить, что событие изменения объема. Но я не знаю, как слушать изменение громкости в проигрывателе YouTube. Как я могу решить эту проблему?

Заранее спасибо.

ответ

-1
player.getVolume():Number 

Возвращает текущий объем игрока, целое число от 0 до 100. Следует отметить, что getVolume() вернет громкость, даже если игрок будет отключен.

Для более подробной информации проверить это: YouTube Player Controls

+1

Спасибо за комментарий. На самом деле мне нужно запустить функцию при изменении тома, для этого мне нужно определить это событие с измененным томом. – Anna

+0

вам нужно сэкономить текущий том в некоторой переменной, и когда изменение объема сохранит этот том в другой переменной и сравните эту переменную, если она отличается от вас, вы можете сделать то, что хотите, при изменении объема. –

+1

На самом деле я искал eventListener. Но теперь вы спасли мое время. Спасибо, Джаймин. – Anna

1

Только в случае, если кто-нибудь имеет тот же самый вопрос, here мой полный ответ.

На сегодняшний день код выглядит следующим образом:

setInterval(this.getChangedVolume, 250) 

getChangedVolume() { 
    let currentYoutubeVolume = this.player.getVolume() 
    // Do some things, for example (will show Promise): 
    // console.log(currentYoutubeVolume) 

    // YouTube returns Promise, but we need actual data, so: 
    // Promise.resolve(currentYoutubeVolume).then(data => { this.volumeLv = data }) 
    } 
Смежные вопросы