Мы интегрировали библиотеку Videogular2 в наш проект Angular 7.Все отлично работает в Desktop для Chrome и Safari.Но когда я тестировал то же самое в Iphone и iPad, функция Mute не работает.На Android-устройстве он работает нормально.
После начала воспроизведения видео, если я нажимаю значок отключения звука, я все еще слышу звук громкости, а значок по-прежнему отображается как не включенный в пользовательском интерфейсе.
<vg-player (onPlayerReady)="onPlayerReady($event)">
<vg-overlay-play></vg-overlay-play>
<vg-buffering></vg-buffering>
<vg-controls>
<vg-play-pause></vg-play-pause>
<vg-playback-button></vg-playback-button>
<vg-time-display vgProperty="current" vgFormat="mm:ss"></vg-time-display>
<vg-time-display vgProperty="total" vgFormat="mm:ss"></vg-time-display>
<vg-mute vgFor="singleVideo" (click)="betterMute(media)"></vg-mute>
<vg-fullscreen></vg-fullscreen>
</vg-controls>
<video #media [vgMedia]="media" id="singleVideo" preload="auto" playsinline>
<source src="https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4" />
</video>
</vg-player>
Iтакже попытался прикрепить событие click к компоненту vg-mute. При установке громкости на «0» я не могу слышать звук, но значок все еще отображается как «без звука» в пользовательском интерфейсе.
betterMute(media) {
console.log(this.api);
console.log(this.target);
if (typeof this.target['muted'] === 'undefined' || this.target['muted'] === false) {
this.target['muted'] = true;
this.target.elem.muted = true;
this.api.volume = 0;
this.target.volume = 0;
} else {
this.target['muted'] = false;
this.target.elem.muted = false;
this.api.volume = 1;
this.target.volume = 1;
}
}
Версия
Видео2: 6.4.0 Угловая: 7 Safari: 12 Mac OS: 10