@tarojs/components
Version:
1 lines • 1.12 kB
JavaScript
import{r as t,c as s,h as i}from"./p-d0cabaaa.js";const o=class{constructor(i){t(this,i),this.onError=s(this,"error",7),this.onPlay=s(this,"play",7),this.onPause=s(this,"pause",7),this.onTimeUpdate=s(this,"timeupdate",7),this.onEnded=s(this,"ended",7),this.src=void 0,this.controls=!0,this.autoplay=!1,this.loop=!1,this.muted=!1,this.nativeProps={}}bindevent(){this.audio.addEventListener("timeupdate",(t=>{this.onTimeUpdate.emit({duration:t.srcElement.duration,currentTime:t.srcElement.duration})})),this.audio.addEventListener("ended",(()=>{this.onEnded.emit()})),this.audio.addEventListener("play",(()=>{this.onPlay.emit()})),this.audio.addEventListener("pause",(t=>{this.onPause.emit(t)})),this.audio.addEventListener("error",(t=>{var s;this.onError.emit({errMsg:null===(s=t.srcElement.error)||void 0===s?void 0:s.code})}))}componentDidLoad(){this.bindevent()}render(){const{src:t,controls:s,autoplay:o,loop:h,muted:e,nativeProps:r}=this;return i("audio",Object.assign({src:t,controls:s,autoplay:o,loop:h,muted:e,ref:t=>{this.audio=t}},r))}};o.style="audio{outline:none;max-width:100%}";export{o as taro_audio_core}