Как играть и приостанавливать «a-videosphere» и как включить управление wasd-контролем для «a-videosphere», а не других объектов, таких как «a-box»? - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь воспроизвести видео VR на моем веб-сайте для компьютеров, использующих библиотеку aframe-реагировать.До настоящего времени видео можно было воспроизводить, но им нельзя управлять, т. Е. Пользователи не могут приостанавливать или воспроизводить его (оно начинает воспроизводиться, как только вы открываете страницу, и продолжит воспроизведение, даже если вы перешли на другую страницу веб-сайта).).

Как настроить эти контроллеры (play, pause, wasd-controls)?

Я пытался управлять им.Но, во-первых, кажется, не поддерживает события мыши.Он не реагировал вообще, даже если бы я настроил событие щелчка и щелкнул его.После этого я положил, пытаясь контролировать его.Это тоже не удалось.Кроме того, я нашел кучу статей в Интернете.Я попробовал все из них, но они не работали.

Ниже приведен один из подходов, которые я попробовал и потерпел неудачу, но я чувствовал, что он наиболее вероятен для успеха.

например, это ts коды

<Entity primitive='a-assets'>
    <Entity primitive='a-video'
    src={localvideo.path}
    id='videoEntity'
    refs='videoEntity'
    wasd-controls/>
</Entity>


<Entity primitive='a-box'
events={{
click: this._handleClick
}}/>


<Entity primitive='a-videosphere' 
ref='video'
rotation='0 270 0' 
src='#videoEntity' />

например, этоэто событие мыши

_handleClick = () => {
    let vid: any = this.refs.video;
    vid.pause();
}

Однако в результате оно не сработало, потому что

Property 'pause' does not exist on type 'ReactInstance'.
  Property 'pause' does not exist on type 'Element'.ts(2339)

Итак, как я могу решить эту проблему?

Что касается'wasd-controls', моя проблема была, если вы используете

<Entity primitive='a-camera'
wasd-controls />

Это на самом деле работает.Но он мог управлять только <Entity primitive='a-box' /> и не мог контролировать <Entity primitive='a-videosphere' />

Итак, как я мог решить эту проблему?

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

...