From 1fe7d067ed24f10d532a92be239bf5cc8481b988 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 30 Jan 2021 17:31:39 +0800
Subject: [PATCH] 下载录制音频相关JS,添加一键呼叫的点击事件
---
src/views/realTimePolice/real.vue | 120 ++++++++++++++++++++++++++++-----------
package-lock.json | 5 +
package.json | 1
3 files changed, 91 insertions(+), 35 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 7e37de0..db2e0b2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6603,6 +6603,11 @@
"integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=",
"dev": true
},
+ "js-audio-recorder": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npm.taobao.org/js-audio-recorder/download/js-audio-recorder-1.0.7.tgz",
+ "integrity": "sha1-AVAcuesUPVeZS0K9Wul5dP2hiQg="
+ },
"js-base64": {
"version": "2.6.4",
"resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz?cache=0&sync_timestamp=1604450395858&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.4.tgz",
diff --git a/package.json b/package.json
index 461ac9a..31955c2 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"crypto-js": "^4.0.0",
"element-ui": "^2.13.2",
"hls.js": "^0.14.17",
+ "js-audio-recorder": "^1.0.7",
"js-base64": "^2.5.1",
"js-cookie": "^2.2.0",
"js-md5": "^0.7.3",
diff --git a/src/views/realTimePolice/real.vue b/src/views/realTimePolice/real.vue
index f4737db..523aa31 100644
--- a/src/views/realTimePolice/real.vue
+++ b/src/views/realTimePolice/real.vue
@@ -217,7 +217,9 @@
</el-col>
<el-col span="12">
<el-form-item label="历史视频">
- <el-button type="primary" @click="queryOldVideo(form)">查看视频</el-button>
+ <el-button type="primary" @click.stop="queryOldVideo(form)"
+ >查看视频</el-button
+ >
</el-form-item>
</el-col>
</el-row>
@@ -251,7 +253,12 @@
<el-row :align="center">
<el-col :offset="4">
<el-form-item>
- <el-button type="success">一键呼叫</el-button>
+ <el-button
+ :class="{ active: isActive }"
+ type="success"
+ @click.stop="aKeyToCall($event, form)"
+ >一键呼叫</el-button
+ >
<el-button type="success">视频对讲</el-button>
<el-button type="primary" @click.stop="generate(form)"
>生成警单</el-button
@@ -289,6 +296,8 @@
import Hls from "hls.js";
import axios from "axios";
+
+import Recorder from "js-audio-recorder";
export default {
data() {
@@ -471,7 +480,8 @@
}
]
},
- data: []
+ data: [],
+ isActive: false
};
},
computed: {
@@ -829,7 +839,6 @@
},
beginTimeOrEndTime(time) {
-
var beginTime = new Date(time);
var endTime = new Date(new Date(time).valueOf() - 1000 * 60 * 60 * 3);
@@ -913,41 +922,40 @@
.then(res => {
console.log(res.data.data.accessToken);
- newAxios
- .get(
- `/GetPlayUrl?deviceCode=${data.channelNumber}&chl=${data.serialNumber}`
- )
- .then(result => {
- this.innerVisibleVideo = true;
+ newAxios
+ .get(
+ `/GetPlayUrl?deviceCode=${data.channelNumber}&chl=${data.serialNumber}`
+ )
+ .then(result => {
+ this.innerVisibleVideo = true;
- this.videoSource = result.data.data.m3u8;
- });
+ this.videoSource = result.data.data.m3u8;
+ });
- // newAxios
- // .post(
- // "/api_control",
- // {},
- // {
- // params: {
- // param: JSON.stringify({
- // PktType: "RemotePlayback",
- // accessToken: res.data.data.accessToken,
- // deviceCode: "001231409472",
- // startTime: "20210130150000",
- // endTime: "20210130160000",
- // chl: data.serialNumber
- // })
- // }
- // }
- // )
- // .then(result => {
-
+ // newAxios
+ // .post(
+ // "/api_control",
+ // {},
+ // {
+ // params: {
+ // param: JSON.stringify({
+ // PktType: "RemotePlayback",
+ // accessToken: res.data.data.accessToken,
+ // deviceCode: "001231409472",
+ // startTime: "20210130150000",
+ // endTime: "20210130160000",
+ // chl: data.serialNumber
+ // })
+ // }
+ // }
+ // )
+ // .then(result => {
- // this.innerVisibleVideo = true;
+ // this.innerVisibleVideo = true;
- // this.videoSource = result.data.data.m3u8;
+ // this.videoSource = result.data.data.m3u8;
- // });
+ // });
});
},
openOldVideoBox() {
@@ -958,7 +966,7 @@
this.hls = new Hls();
- console.log(this.videoSource, '19028321321r073');
+ console.log(this.videoSource, "19028321321r073");
var m3u8Url = decodeURIComponent(this.videoSource);
@@ -980,6 +988,44 @@
dom.pause();
dom.setAttribute("");
+ }
+ },
+ aKeyToCall(e, form) {
+ // 一键呼叫相关函数
+ if (this.isActive == true) {
+ this.isActive = false;
+ } 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
+ });
+
+ 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)
+
+ // });
+
+
+
}
}
}
@@ -1034,4 +1080,8 @@
height: calc(100% - 54px);
box-sizing: border-box;
}
+
+.el-button.active {
+ background: red;
+}
</style>
--
Gitblit v1.9.3