Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
NewTruckTerminalSyetem
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SQL_Mou
NewTruckTerminalSyetem
Commits
5e615a95
Commit
5e615a95
authored
May 12, 2022
by
caicaicai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
d1116b71
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
35 deletions
+20
-35
index.vue
src/views/MLargeScreen/components/voiceApplication/index.vue
+20
-35
No files found.
src/views/MLargeScreen/components/voiceApplication/index.vue
View file @
5e615a95
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<span
class=
"voiceAppContent_left_title"
>
当前语音通话情况:
</span>
<span
class=
"voiceAppContent_left_title"
>
当前语音通话情况:
</span>
</div>
</div>
<audio
autoplay
:src=
'srcUrl'
style=
"display:none;"
></audio>
<audio
controls
currentTime
autoplay
:src=
'srcUrl'
style=
"display:none;"
></audio>
<div
class=
"situationStyle"
>
<div
class=
"situationStyle"
>
<div
v-for=
"(item,index) in videoContentAllArray"
:key=
"index"
class=
'situation_fa1'
>
<div
v-for=
"(item,index) in videoContentAllArray"
:key=
"index"
class=
'situation_fa1'
>
...
@@ -314,7 +314,7 @@ export default {
...
@@ -314,7 +314,7 @@ export default {
//WebSocket数据发送
//WebSocket数据发送
websocketsend
(
agentData
){
websocketsend
(
agentData
){
this
.
websocket
.
send
(
agentData
);
this
.
websocket
.
send
(
agentData
);
},
},
//WebSocket关闭
//WebSocket关闭
websocketclose
(
e
){
websocketclose
(
e
){
console
.
log
(
"
connection closed (
"
+
e
+
"
)
"
);
console
.
log
(
"
connection closed (
"
+
e
+
"
)
"
);
...
@@ -480,37 +480,14 @@ export default {
...
@@ -480,37 +480,14 @@ export default {
};
};
var
blob
=
this
.
recLogLast
.
res
.
blob
;
var
blob
=
this
.
recLogLast
.
res
.
blob
;
//本例子假设使用原始XMLHttpRequest请求方式,实际使用中自行调整为自己的请求方式
//录音结束时拿到了blob文件对象,可以用FileReader读取出内容,或者用FormData上传
var
api
=
"
https://xx.xx/test_request
"
;
var
onreadystatechange
=
function
(
title
){
return
function
(){
if
(
xhr
.
readyState
==
4
){
if
(
xhr
.
status
==
200
){
This
.
reclog
(
title
+
"
上传成功
"
,
2
);
}
else
{
This
.
reclog
(
title
+
"
没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。
"
,
"
#d8c1a0
"
);
console
.
error
(
title
+
"
上传失败
"
,
xhr
.
status
,
xhr
.
responseText
);
};
};
};
};
This
.
reclog
(
"
开始上传到
"
+
api
+
"
,请求稍后...
"
,
"
#f60
"
);
/***方式一:将blob文件转成base64纯文本编码
,使用普通application/x-www-form-urlencoded表单上传
***/
/***方式一:将blob文件转成base64纯文本编码
***/
var
reader
=
new
FileReader
();
var
reader
=
new
FileReader
();
reader
.
onloadend
=
function
(){
reader
.
onloadend
=
function
(){
var
postData
=
""
;
var
postData
=
""
;
postData
+=
"
mime=
"
+
encodeURIComponent
(
blob
.
type
);
//告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写
postData
+=
"
mime=
"
+
encodeURIComponent
(
blob
.
type
);
//告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写
postData
+=
"
&upfile_b64=
"
+
encodeURIComponent
((
/.+;
\s
*base64
\s
*,
\s
*
(
.+
)
$/i
.
exec
(
reader
.
result
)
||
[])[
1
])
//录音文件内容,后端进行base64解码成二进制
postData
+=
"
&upfile_b64=
"
+
encodeURIComponent
((
/.+;
\s
*base64
\s
*,
\s
*
(
.+
)
$/i
.
exec
(
reader
.
result
)
||
[])[
1
])
//录音文件内容,后端进行base64解码成二进制
//...其他表单参数
//postData+=encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(reader.result)||[])[1]) //录音文件内容,后端进行base64解码成二进制
// var xhr=new XMLHttpRequest();
// xhr.open("POST", api);
// xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
// xhr.onreadystatechange=onreadystatechange("上传方式一【Base64】");
// xhr.send(postData);
//发送语音数据
//发送语音数据
if
(
This
.
websocket
.
readyState
==
1
)
{
// that.websock.readyState = 1 表示连接成功,可以立即发送信息
if
(
This
.
websocket
.
readyState
==
1
)
{
// that.websock.readyState = 1 表示连接成功,可以立即发送信息
...
@@ -634,17 +611,25 @@ export default {
...
@@ -634,17 +611,25 @@ export default {
},
},
//播放语音
//播放语音
selectSituation
(
item
){
selectSituation
(
item
){
//this.recClose();
// Blobdata 就是后端返回给你的Blob数据
// var arr = item.contentText.split(',');
const
reader
=
new
FileReader
();
// //注意base64的最后面中括号和引号是不转译的
const
booo
=
new
Blob
([
item
.
contentText
]);
// let bstr = atob(arr);
reader
.
readAsArrayBuffer
(
booo
);
// let n = bstr.length;
reader
.
onload
=
(
e
)
=>
{
// let u8arr = new Uint8Array(n);
// while (n--) {
// u8arr[n] = bstr.charCodeAt(n);
// }
// console.log(new Blob([u8arr], {type:'audio/mp3'}));
const
reader1
=
new
FileReader
();
const
booo
=
new
Blob
([
item
.
contentText
],{
type
:
'
audio/mp3
'
});
reader1
.
readAsArrayBuffer
(
booo
);
reader1
.
onload
=
(
e
)
=>
{
const
bufer
=
e
.
srcElement
.
result
;
const
bufer
=
e
.
srcElement
.
result
;
const
blob
=
this
.
addWavHeader
(
bufer
,
16000
,
16
,
1
);
const
blob
=
this
.
addWavHeader
(
bufer
,
16000
,
16
,
1
);
this
.
srcUrl
=
(
window
.
URL
||
webkitURL
).
createObjectURL
(
blob
);
this
.
srcUrl
=
(
window
.
URL
||
webkitURL
).
createObjectURL
(
blob
);
};
};
},
},
//删除某个语音
//删除某个语音
selectDeleteSituation
(
index
){
selectDeleteSituation
(
index
){
...
@@ -694,7 +679,7 @@ export default {
...
@@ -694,7 +679,7 @@ export default {
}
else
{
}
else
{
this
.
floatTo32BitPCM
(
view
,
samples
);
this
.
floatTo32BitPCM
(
view
,
samples
);
}
}
return
new
Blob
([
view
],
{
type
:
'
audio/
wav
'
});
return
new
Blob
([
view
],
{
type
:
'
audio/
mp3
'
});
},
},
writeString
(
view
,
offset
,
string
)
{
writeString
(
view
,
offset
,
string
)
{
for
(
let
i
=
0
;
i
<
string
.
length
;
i
+=
1
)
{
for
(
let
i
=
0
;
i
<
string
.
length
;
i
+=
1
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment