platypush/platypush/backend/http/webapp/dist/static/js/5794.9859b34c.js

2 lines
5.2 KiB
JavaScript

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5794],{5794:function(a,e,t){t.r(e),t.d(e,{default:function(){return M}});var i=t(6252),s=t(3577);const r=a=>((0,i.dD)("data-v-a0c26180"),a=a(),(0,i.Cn)(),a),n={class:"camera"},c={class:"camera-selector"},l={class:"left"},o={key:0,selected:"",disabled:""},d=["value","textContent"],u={class:"right"},m=["disabled"],g=r((()=>(0,i._)("i",{class:"fas fa-sync-alt",title:"Refresh cameras"},null,-1))),p=[g],f={class:"camera-container"},h={class:"frame-container",ref:"frameContainer"},b={key:0,class:"no-frame"},_={class:"frame",ref:"frame",alt:"",src:""},C={class:"controls"},y={class:"left"},v=["disabled"],k=r((()=>(0,i._)("i",{class:"fa fa-play",title:"Start video"},null,-1))),w=[k],S=["disabled"],D=r((()=>(0,i._)("i",{class:"fa fa-stop",title:"Stop video"},null,-1))),q=[D],L=["disabled"],$=r((()=>(0,i._)("i",{class:"fas fa-camera",title:"Take a picture"},null,-1))),x=[$],A={class:"right"},j=["disabled"],F=r((()=>(0,i._)("i",{class:"fas fa-retweet",title:"Flip camera"},null,-1))),T=[F],Z=["disabled"],I=r((()=>(0,i._)("i",{class:"fa fa-volume-mute",title:"Start audio"},null,-1))),O=[I],Y=["disabled"],z=r((()=>(0,i._)("i",{class:"fa fa-volume-up",title:"Stop audio"},null,-1))),E=[z],H={class:"sound-container"},K={key:0,autoplay:"",preload:"none",ref:"player"},N=["src"];function R(a,e,t,r,g,k){const D=(0,i.up)("Loading");return(0,i.wg)(),(0,i.iD)("div",n,[g.loading?((0,i.wg)(),(0,i.j4)(D,{key:0})):(0,i.kq)("",!0),(0,i._)("div",c,[(0,i._)("div",l,[(0,i._)("label",null,[(0,i._)("select",{ref:"cameraSelector",onChange:e[0]||(e[0]=(...a)=>k.onCameraSelected&&k.onCameraSelected(...a))},[Object.keys(g.cameras).length?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("option",o,"-- No cameras available")),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(Object.keys(g.cameras),(a=>((0,i.wg)(),(0,i.iD)("option",{key:a,value:a,textContent:(0,s.zw)(a)},null,8,d)))),128))],544)])]),(0,i._)("div",u,[(0,i._)("button",{type:"button",onClick:e[1]||(e[1]=(...a)=>k.updateCameraStatus&&k.updateCameraStatus(...a)),disabled:g.loading},p,8,m)])]),(0,i._)("div",f,[(0,i._)("div",h,[g.streaming||g.capturing||g.captured?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("div",b,"The camera is not active")),(0,i._)("img",_,null,512)],512),(0,i._)("div",C,[(0,i._)("div",y,[g.streaming?((0,i.wg)(),(0,i.iD)("button",{key:1,type:"button",onClick:e[3]||(e[3]=(...a)=>k.stopStreaming&&k.stopStreaming(...a)),disabled:g.capturing||g.loading},q,8,S)):((0,i.wg)(),(0,i.iD)("button",{key:0,type:"button",onClick:e[2]||(e[2]=(...a)=>k.startStreaming&&k.startStreaming(...a)),disabled:g.capturing||g.loading},w,8,v)),(0,i._)("button",{type:"button",onClick:e[4]||(e[4]=(...a)=>k.capture&&k.capture(...a)),disabled:g.streaming||g.capturing||g.loading},x,8,L)]),(0,i._)("div",A,[(0,i._)("button",{type:"button",onClick:e[5]||(e[5]=(...a)=>k.flipCamera&&k.flipCamera(...a)),disabled:g.loading},T,8,j),g.recording?((0,i.wg)(),(0,i.iD)("button",{key:1,type:"button",onClick:e[7]||(e[7]=a=>g.recording=!1),disabled:g.loading},E,8,Y)):((0,i.wg)(),(0,i.iD)("button",{key:0,type:"button",onClick:e[6]||(e[6]=a=>g.recording=!0),disabled:g.loading},O,8,Z))])])]),(0,i._)("div",H,[g.recording?((0,i.wg)(),(0,i.iD)("audio",K,[(0,i._)("source",{src:g.cameras[g.selectedCamera].audio_url,type:"audio/x-wav;codec=pcm"},null,8,N),(0,i.Uk)(" Your browser does not support audio elements ")],512)):(0,i.kq)("",!0)])])}var U=t(8637),W=t(6791),B={name:"CameraAndroidIpcam",components:{Loading:W.Z},mixins:[U.Z],data(){return{loading:!1,streaming:!1,capturing:!1,recording:!1,captured:!1,cameras:{},selectedCamera:void 0}},computed:{config(){return this.$root.config["camera.android.ipcam"]}},methods:{startStreaming(){if(this.streaming)return;const a=this.cameras[this.selectedCamera];this.streaming=!0,this.capturing=!1,this.captured=!1,this.$refs.frame.setAttribute("src",a.stream_url)},stopStreaming(){this.streaming&&(this.streaming=!1,this.capturing=!1,this.$refs.frame.removeAttribute("src"))},capture(){if(this.capturing)return;const a=this.cameras[this.selectedCamera];this.streaming=!1,this.capturing=!0,this.captured=!0,this.$refs.frame.setAttribute("src",a.image_url+"?t="+(new Date).getTime())},onFrameLoaded(){this.capturing&&(this.capturing=!1)},onCameraSelected(a){this.selectedCamera=a.target.value},async flipCamera(){const a=this.cameras[this.selectedCamera];this.loading=!0;try{const e=!a.ffc;await this.request("camera.android.ipcam.set_front_facing_camera",{activate:e,camera:a.name}),this.cameras[this.selectedCamera].ffc=e}finally{this.loading=!1}},async updateCameraStatus(){this.loading=!0;try{const a=await this.request("camera.android.ipcam.status");this.cameras=a.reduce(((a,e)=>{for(const t of["stream_url","image_url","audio_url"])e[t].startsWith("https://")&&(e[t]=e[t].replace("https://","http://")),e.name in this.config.cameras&&this.config.cameras[e.name].username&&(e[t]="http://"+this.config.cameras[e.name].username+":"+this.config.cameras[e.name].password+"@"+e[t].substr(7));return a[e.name]=e,a}),{}),a.length&&(this.selectedCamera=a[0].name)}finally{this.loading=!1}}},mounted(){this.$refs.frame.addEventListener("load",this.onFrameLoaded),this.updateCameraStatus()}},G=t(3744);const J=(0,G.Z)(B,[["render",R],["__scopeId","data-v-a0c26180"]]);var M=J}}]);
//# sourceMappingURL=5794.9859b34c.js.map