#javascript #playsound #8thwall-web
Вопрос:
Я абсолютный новичок, однако мне удалось создать настройку ar, которая использует горячие точки для открытия контейнера и воспроизведения звука, который поставляется с объектом, на который я на самом деле нажимаю. Все в пределах 8-й стены. Таким образом, звук добавляется в качестве атрибута для сущности. т. е.
<a-entity id="hotspot1" mixin="hotspot-mond" position="0.32 0.73 0.59" rotation="0 90 0" scale="0.18 0.18 0.18" sound="src: #amond; on: click; refDistance: 100" look-at="#camera" class="cantap" tap-hotspot>
hotspot-mond-это в основном примитивная прозрачная сфера над реальной моделью glb … определено в области активов:
<a-mixin id="hotspot-mond" geometry="primitive: sphere; radius: 0.9;" material="shader: shadow; transparent: true; opacity: 0.1"></a-mixin>
Начальное событие onclick работает просто отлично.
const tapHotspotComponent = {
init() {
const id = this.el.getAttribute('id')
const contents = document.getElementById('contents')
const container = document.getElementById('container')
const childElement = document.getElementById(`${id}-child`)
const handleClickEvent = (e) => {
hideAll()
container.classList.remove('collapsed')
childElement.setAttribute('visible', false)
childElement.setAttribute('class', 'cantap')
}
this.el.addEventListener('click', handleClickEvent, true)
},
}
export {tapHotspotComponent}
Однако, даже если я закрою этот объект, звук будет продолжать звучать и, конечно, воспроизводиться одновременно с другими, если щелкнуть по нему.
есть ли способ остановить этот звук при нажатии на событие? Или это возможно только при использовании звука, который запускается непосредственно щелчком мыши? На мой взгляд, он должен быть интегрирован в этот javascript:
const tapCloseComponent = {
init() {
const handleClickEvent = (e) => {
hideAll()
}
this.el.addEventListener('click', handleClickEvent, true)
},
}
export {tapCloseComponent}
Но, похоже, ничего из того, что я придумал, не работает.
Я попытался собрать атрибутивный звук и остановить звук или даже уменьшить громкость до 0.
любая помощь будет признательна.
Заранее спасибо. Томас