У меня есть приложение angular 6, использующее videogular2 для запуска аудиофайлов. Компонент, который содержит vg-player (родительский компонент), является частью оператора ngSwitch и, следовательно, является компонентом, который может быть уничтожен.
Последние требования настаивают на том, чтобы аудио воспроизводилось в фоновом режиме при изменении вида. Но когда вид меняется, держатель игрока уничтожается. Логика не может быть изменена, поскольку она является частью очень сложного поведения. Этот компонент не может оставаться просто скрытым.
Единственный вариант, который я вижу, - это отображение элементов управления (воспроизведение, пауза, громкость и индикатор выполнения) проигрывателя в представлении, но источник проигрывателя должен быть размещен вне текущего родительского компонента-держателя. Таким образом, когда представление будет уничтожено, звук останется в фоновом режиме.
Таким образом, здесь возникает точный вопрос: могу ли я создать «фиктивные» элементы управления, которые синхронизируются с источником медиа. Существует одноэлементная служба, которая удерживает весь обмен информацией с игроком, но главная проблема, которую я полагаю, связана с индикатором прогресса
.
- 1 - можно ли отображать только элементы управления проигрывателя без тега видео
<video id="singleVideo"
[muted]="isMuted"
preload="auto"
[vgMedia]="media"
playsinline>
<source [src]="videoSrc" type="video/mp4">
</video>
- 2 - Если это возможно, можно ли синхронизировать элементы управления с источником через службу
В итоге:
- Возможно ли иметь несколько разных видов (удерживая только элементы управления проигрывателя), связанных только с одним источником?
- Источник должен быть размещен за пределами просмотров?
- Синхронизировать индикатор выполнения?
- Если один вид будет уничтожен, остальное останется и от каждого вида будет возможность использовать медиаплеер?
- По определенной команде все элементы управления должны быть синхронизированы?
Заранее спасибо!
На мой взгляд, это очень законный вариант использования, который заслуживает соблюдения.