| | |
| | | icon="el-icon-location-outline" |
| | | :size="size" |
| | | :type="type" |
| | | @click.stop="handleAdd11()" |
| | | @click.stop="handleMap()" |
| | | >定位</el-button |
| | | > |
| | | </template> |
| | |
| | | title="警情处置" |
| | | :visible.sync="dialogTableVisible" |
| | | append-to-body="true" |
| | | @close="innerVisibleVideo = false" |
| | | > |
| | | <el-dialog |
| | | class="old-video-dialog" |
| | |
| | | :visible.sync="innerVisibleVideo" |
| | | :close-on-press-escape="false" |
| | | append-to-body |
| | | @opened="openOldVideoBox()" |
| | | @opened="openOldVideoBox" |
| | | @close="closeOldVideoBox" |
| | | > |
| | | <video |
| | |
| | | </el-form> |
| | | </el-dialog> |
| | | |
| | | <el-drawer |
| | | title="我是标题" |
| | | append-to-body="true" |
| | | :visible.sync="qwe" |
| | | :direction="direction" |
| | | > |
| | | <iframe |
| | | src="http://www.baidu.com" |
| | | frameborder="0" |
| | | width="100%" |
| | | height="600px" |
| | | ></iframe> |
| | | <el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap"> |
| | | <iframe :src="mapUrl" frameborder="0" width="100%" height="100%"></iframe> |
| | | </el-drawer> |
| | | </basic-container> |
| | | </template> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | qwe: false, |
| | | showMap: false, |
| | | mapUrl: "https://s16s652780.51mypc.cn/jfpt/map/index.html", |
| | | hls: "", |
| | | videoSource: "", |
| | | dialogTableVisible: false, |
| | | innerVisibleVideo: false, |
| | | direction: "rtl", |
| | | form: {}, |
| | | query: {}, |
| | | dateTime: [], |
| | |
| | | ] |
| | | }, |
| | | data: [], |
| | | isActive: false |
| | | isActive: false, |
| | | recorder: null |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | created() { |
| | | this.dateTime = this.getDate(); |
| | | |
| | | this.recorder = new Recorder({ |
| | | sampleBits: 16, // 采样位数,支持 8 或 16,默认是16 |
| | | sampleRate: 16000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000 |
| | | numChannels: 1 // 声道,支持 1 或 2, 默认是1 |
| | | // compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false |
| | | }); |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | |
| | | handleHistory(row) { |
| | | this.$router.push({ path: `/real/history/${row.deviceNumber}` }); |
| | | }, |
| | | handleAdd11() { |
| | | this.qwe = true; |
| | | handleMap() { |
| | | this.showMap = true; |
| | | this.mapUrl = |
| | | "https://s16s652780.51mypc.cn/jfpt/map/index.html?openid=PatrolManagement"; |
| | | }, |
| | | handleManage(row) { |
| | | this.form = row; |
| | |
| | | }; |
| | | }, |
| | | queryOldVideo(data) { |
| | | console.log(data); |
| | | var newAxios = axios.create({ |
| | | baseURL: "http://s16s652780.51mypc.cn", |
| | | baseURL: "https://s16s652780.51mypc.cn", |
| | | withCredentials: false, |
| | | headers: { |
| | | "Content-type": "application/x-www-form-urlencoded" |
| | |
| | | } |
| | | ) |
| | | .then(res => { |
| | | console.log(res.data.data.accessToken); |
| | | |
| | | newAxios |
| | | .get( |
| | | `/GetPlayUrl?deviceCode=${data.channelNumber}&chl=${data.serialNumber}` |
| | |
| | | |
| | | this.hls = new Hls(); |
| | | |
| | | console.log(this.videoSource, "19028321321r073"); |
| | | |
| | | var m3u8Url = decodeURIComponent(this.videoSource); |
| | | |
| | | console.log(m3u8Url); |
| | | |
| | | this.hls.loadSource(m3u8Url); |
| | | |
| | |
| | | if (dom.getAttribute("src") != "") { |
| | | dom.pause(); |
| | | |
| | | dom.setAttribute(""); |
| | | dom.setAttribute("src", ""); |
| | | |
| | | this.hls.destroy(); |
| | | } |
| | | }, |
| | | aKeyToCall(e, form) { |
| | | var newCallAxios = axios.create({ |
| | | baseURL: "https://s16s652780.51mypc.cn", |
| | | withCredentials: false, |
| | | headers: { |
| | | "Content-Type": "application/json;" |
| | | } |
| | | }); |
| | | |
| | | // 一键呼叫相关函数 |
| | | if (this.isActive == true) { |
| | | this.isActive = false; |
| | | |
| | | newCallAxios |
| | | .post( |
| | | `/api_control`, |
| | | {}, |
| | | { |
| | | params: { |
| | | param: { PktType: "GetAccessToken" } |
| | | } |
| | | } |
| | | ) |
| | | .then(result => { |
| | | var formData = new FormData(); |
| | | var blob = this.recorder.getPCMBlob(); //获取pcm格式音频数据 |
| | | //此处获取到blob对象后需要设置fileName满足当前项目上传需求,其它项目可直接传把blob作为file塞入formData |
| | | var newbolb = new Blob([blob], { type: "audio/pcm" }); |
| | | var fileOfBlob = new File([newbolb], new Date().getTime() + ".pcm"); |
| | | formData.append("file", fileOfBlob); |
| | | |
| | | document |
| | | .getElementById("real_audio") |
| | | .setAttribute("src", URL.createObjectURL(blob)); |
| | | |
| | | console.log( |
| | | blob, |
| | | newbolb, |
| | | fileOfBlob, |
| | | window.URL.createObjectURL(blob), |
| | | 99999 |
| | | ); |
| | | |
| | | this.recorder.play(); |
| | | |
| | | newCallAxios |
| | | .post(`/api_control`, blob, { |
| | | params: { |
| | | param: { |
| | | PktType: "Talk", |
| | | accessToken: result.data.data.accessToken, |
| | | deviceCode: form.channelNumber |
| | | } |
| | | } |
| | | }) |
| | | .then(result => {}); |
| | | }); |
| | | } else { |
| | | this.isActive = true; |
| | | |
| | | let recorder = new Recorder({ |
| | | sampleBits: 16, // 采样位数,支持 8 或 16,默认是16 |
| | | sampleRate: 16000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000 |
| | | numChannels: 1 // 声道,支持 1 或 2, 默认是1 |
| | | // compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false |
| | | Recorder.getPermission().then(() => { |
| | | this.recorder.start().then(() => { |
| | | // 开始录音 |
| | | }); |
| | | }); |
| | | |
| | | var newAxios = axios.create({ |
| | | baseURL: "http://s16s652780.51mypc.cn", |
| | | withCredentials: false, |
| | | headers: { |
| | | "Content-type": "application/x-www-form-urlencoded" |
| | | } |
| | | }); |
| | | |
| | | |
| | | // newAxios |
| | | // .post( |
| | | // `/talk?deviceCode=${form.channelNumber}`, |
| | | // '12345', |
| | | // ) |
| | | // .then(result => { |
| | | |
| | | // console.log(result) |
| | | |
| | | // }); |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | } |