Автозапуск видео и клик для звука, воспроизведение видео с телефона - PullRequest
1 голос
/ 28 сентября 2019

Я пытаюсь реализовать следующие вещи:

  • (1) Возможность воспроизведения локального видео из памяти телефона после того, как вы его выбрали (iPhone)это то, что я пробовал)
  • (2) Автозапуск inline-видео, когда определенный процент видео-плеера отображается на экране и может включать звук при нажатии на видео

(1) Что касается первого вопроса, я могу получить videoUrl, но он не воспроизводится.Я прочитал в другом посте, что вы должны удалить / private / часть строки, чтобы иметь возможность воспроизводить видео из локального хранилища телефона.Я попробовал это без какого-либо успеха.Однако я надеюсь, что решение близко, потому что у меня есть videoURL.

(2) Что касается моего второго вопроса, видео воспроизводится автоматически, но оно воспроизводится сразу, и я не могу включить видеозвукнажав на видео.Учебник, которому я следовал, чтобы реализовать это, вот этот.https://medium.com/@JordanBenge/ionic-4-autoplay-videos-on-scroll-6eb00213cdb4. Однако та часть, в которой вы можете решить, когда должно воспроизводиться видео [inViewportOptions] = "{threshold: [0, 0.65], part: true}", выдает ошибку, когда я пытаюсь ее реализовать.в моем HTML-файле.

(1) Это мой html.file:

<div tappable (tap)="changeVideoAudio(video?.id)">
    <video [hidden]="hideChosenVideo"
           inViewport
           (inViewportAction)="onIntersection($event)"   
           playsinline loop
           [muted]="'muted'" preload="auto" muted="muted"
           poster="{{chosenVideoHolder}}"    
           id="video1" class="video-media">
       <source src="{{chosenVideoHolder}}" type="video/mp4" src="">
    </video> 
</div>

TS файл для включения звука:

public changeVideoAudio(id: string) {
    let vid: any = document.getElementById('media-' + id);
    vid.muted = !vid.muted;
}

(2)

Чтобы получить видео из локальной памяти телефона:

his.camera.getPicture(cameraOptions).then(async (videoUrl) => {
    f (videoUrl){
       let stringConv = String(videoUrl);
       let test123 = stringConv.replace('/private/', '');
       this.chosenVideoHolder = test123;
    }
});

HTML-файл

<video [hidden]="hideChosenVideo"
       inViewport
       (inViewportAction)="onIntersection($event)"   
       playsinline loop
       [muted]="'muted'" preload="auto" muted="muted"
       poster="{{chosenVideoHolder}}"    
       [id]="'media-' + video?.id">
    <source src="{{chosenVideoHolder}}" type="video/mp4" src="">
</video> 

Подводя итог, что яв надежде получить помощь - это то, что я должен изменить, чтобы воспроизвести выбранное мной локальное видео из памяти телефона.Я не уверен, что проблема в HTML-файле или TS-файле при получении videoURL.

Для другой проблемы кажется, что я неправильно использую inViewportOptions.Есть ли способ, которым я могу перенастроить или есть другой способ реализации такого рода решения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...