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
2481e720
Commit
2481e720
authored
May 13, 2022
by
caicaicai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
a88c57c3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
16 deletions
+42
-16
index.vue
src/views/MLargeScreen/components/voiceApplication/index.vue
+42
-16
No files found.
src/views/MLargeScreen/components/voiceApplication/index.vue
View file @
2481e720
...
...
@@ -171,6 +171,7 @@ export default {
tonghua1
:
'
开始通话
'
,
carAllNumberString
:
''
,
videoContentAllArray
:[],
resultBlob
:
null
}
},
created
(){},
...
...
@@ -480,14 +481,16 @@ export default {
};
var
blob
=
this
.
recLogLast
.
res
.
blob
;
this
.
blobToDataURI
(
blob
);
/***方式一:将blob文件转成base64纯文本编码 ***/
var
reader
=
new
FileReader
();
reader
.
onloadend
=
function
(){
var
postData
=
""
;
postData
+=
"
mime=
"
+
encodeURIComponent
(
blob
.
type
);
//告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写
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解码成二进制
// postData+="mime="+encodeURIComponent(blob.type);//告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写
// postData+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(reader.result)||[])[1]) //录音文件内容,后端进行base64解码成二进制
//postData = btoa(reader.result); //录音文件内容
postData
=
This
.
resultBlob
;
//录音文件内容
//发送语音数据
if
(
This
.
websocket
.
readyState
==
1
)
{
// that.websock.readyState = 1 表示连接成功,可以立即发送信息
...
...
@@ -615,22 +618,45 @@ export default {
this
.
dialogCancel
();
this
.
waitDialogClickFn
();
},
//播放语音
selectSituation
(
item
){
// var arr = item.contentText.split(',');
// //注意base64的最后面中括号和引号是不转译的
// let bstr = atob(arr);
// let n = bstr.length;
// let u8arr = new Uint8Array(n);
// while (n--) {
// u8arr[n] = bstr.charCodeAt(n);
// }
// console.log(new Blob([u8arr], {type:'audio/mp3'}));
//解析base64编码到blob流
dataURItoBlob
(
base64Data
)
{
//console.log(base64Data);//data:image/png;base64,
var
byteString
;
if
(
base64Data
.
split
(
'
,
'
)[
0
].
indexOf
(
'
base64
'
)
>=
0
)
byteString
=
atob
(
base64Data
.
split
(
'
,
'
)[
1
]);
//base64 解码
else
{
byteString
=
unescape
(
base64Data
.
split
(
'
,
'
)[
1
]);
}
var
mimeString
=
base64Data
.
split
(
'
,
'
)[
0
].
split
(
'
:
'
)[
1
].
split
(
'
;
'
)[
0
];
//mime类型 -- image/png
// var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
// var ia = new Uint8Array(arrayBuffer);//创建视图
var
ia
=
new
Uint8Array
(
byteString
.
length
);
//创建视图
for
(
var
i
=
0
;
i
<
byteString
.
length
;
i
++
)
{
ia
[
i
]
=
byteString
.
charCodeAt
(
i
);
}
var
blob
=
new
Blob
([
ia
],
{
type
:
mimeString
});
return
blob
;
},
//blob流转base64编码
blobToDataURI
(
blob
)
{
let
that
=
this
;
var
reader
=
new
FileReader
();
reader
.
readAsDataURL
(
blob
);
reader
.
onload
=
function
(){
that
.
resultBlob
=
reader
.
result
;
}
},
//播放语音
selectSituation
(
item
){
//注意base64的最后面中括号和引号是不转译的
let
bstr
=
this
.
dataURItoBlob
(
item
.
contentText
);
const
reader1
=
new
FileReader
();
const
booo
=
new
Blob
([
item
.
contentText
],{
type
:
'
audio/mp3
'
});
reader1
.
readAsArrayBuffer
(
booo
);
reader1
.
readAsArrayBuffer
(
bstr
);
reader1
.
onload
=
(
e
)
=>
{
const
bufer
=
e
.
srcElement
.
result
;
const
blob
=
this
.
addWavHeader
(
bufer
,
16000
,
16
,
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