В настоящее время я работаю над приложением Ionic / Angular, и у меня проблемы с видео на Android. Все отлично работает с ios и веб-браузерами, это просто Android.
Я кратко объясню, как это должно работать. (Приложение должно помогать со спортивными упражнениями)
У меня есть предварительный просмотр, который можно нажать, чтобы показать демонстрацию видео перед выполнением упражнения. При нажатии на него воспроизводится видео, при повторном нажатии оно приостанавливает воспроизведение видео. Все отлично работает на любой платформе.
Под предварительным просмотром у вас есть кнопка, которая активирует функцию для запуска видео и сброса его на 0
, и начинается упражнение.
Функция, запускаемая при нажатии на кнопку:
onClickStartButton() {
this.isExerciseStarted = true;
this.exercise.sessionExerciseNumber = this._exerciseIndex;
this.overviewsService.setExercise(this.exercise);
if (this.video.nativeElement) {
(<HTMLVideoElement>this.video.nativeElement).pause();
(<HTMLVideoElement>this.video.nativeElement).currentTime = 0;
(<HTMLVideoElement>this.video.nativeElement).play();
this.isVideoPlaying = false;
}
}
Я попытался установить тайм-аут в операторе if, чтобы увидеть, запускались ли pause () или play () перед видеобыл полностью загружен (я прекратил тестирование после 3-секундного тайм-аута), но, похоже, он не приходит оттуда
Вот HTML-код загружаемого видео
<video class="ion-no-margin" #video
*ngIf="exercise?.video" playsinline loop preload="metadata"
[ngClass]="{'preview-video': !isExerciseStarted}" tappable (click)="onTapToggleVideo()"
[poster]="exercise.thumbnail">
У меня нетидея, почему она не работает только для Android.