From 2d1fab36d2be3101ed292152891fc92d899dd8ac Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 01 Feb 2021 23:39:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
src/views/realTimePolice/real.vue | 137 +++++++++++++++++++++++++++------------------
1 files changed, 81 insertions(+), 56 deletions(-)
diff --git a/src/views/realTimePolice/real.vue b/src/views/realTimePolice/real.vue
index 136d15b..df3ba65 100644
--- a/src/views/realTimePolice/real.vue
+++ b/src/views/realTimePolice/real.vue
@@ -89,7 +89,7 @@
icon="el-icon-location-outline"
:size="size"
:type="type"
- @click.stop="handleAdd11()"
+ @click.stop="handleMap()"
>定位</el-button
>
</template>
@@ -99,6 +99,7 @@
title="警情处置"
:visible.sync="dialogTableVisible"
append-to-body="true"
+ @close="innerVisibleVideo = false"
>
<el-dialog
class="old-video-dialog"
@@ -108,7 +109,7 @@
:visible.sync="innerVisibleVideo"
:close-on-press-escape="false"
append-to-body
- @opened="openOldVideoBox()"
+ @opened="openOldVideoBox"
@close="closeOldVideoBox"
>
<video
@@ -273,18 +274,8 @@
</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>
@@ -302,12 +293,12 @@
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: [],
@@ -481,7 +472,8 @@
]
},
data: [],
- isActive: false
+ isActive: false,
+ recorder: null
};
},
computed: {
@@ -504,6 +496,13 @@
},
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) {
@@ -761,8 +760,10 @@
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;
@@ -904,9 +905,8 @@
};
},
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"
@@ -926,8 +926,6 @@
}
)
.then(res => {
- console.log(res.data.data.accessToken);
-
newAxios
.get(
`/GetPlayUrl?deviceCode=${data.channelNumber}&chl=${data.serialNumber}`
@@ -972,11 +970,7 @@
this.hls = new Hls();
- console.log(this.videoSource, "19028321321r073");
-
var m3u8Url = decodeURIComponent(this.videoSource);
-
- console.log(m3u8Url);
this.hls.loadSource(m3u8Url);
@@ -993,45 +987,76 @@
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)
-
- // });
-
-
-
}
}
}
--
Gitblit v1.9.3