hd-idevvue3 3.0.2 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/index.9c127719.css +1 -0
- package/dist/hd-idevvue3.mjs +3521 -3305
- package/dist/hd-idevvue3.umd.js +29 -29
- package/npminstall-debug.log +2 -10
- package/package.json +4 -2
- package/pnpm-lock.yaml +37 -4
- package/src/App.vue +11 -15
- package/src/assets/sound/notify.wav +0 -0
- package/src/demo/demo.vue +9 -10
- package/src/demo/dropdemo.vue +42 -43
- package/src/demo/extsets.vue +140 -39
- package/src/demo/formedit.vue +157 -145
- package/src/demo/hightquery.vue +263 -66
- package/src/demo/inlineedit.vue +129 -35
- package/src/demo/selfdrop.vue +32 -15
- package/src/directive/el-dragDialog/drag.js +13 -13
- package/src/directive/el-dragDialog/index.js +13 -13
- package/src/errorLog.js +3 -3
- package/src/hdcom/BigGrid.js +54 -48
- package/src/hdcom/BillShow.vue +84 -63
- package/src/hdcom/BillUpload.vue +144 -86
- package/src/hdcom/BtnRight.vue +26 -23
- package/src/hdcom/ErrHint.vue +36 -24
- package/src/hdcom/ExtendColumn.vue +97 -90
- package/src/hdcom/ExtendCommon.js +24 -13
- package/src/hdcom/ExtendForm.vue +107 -80
- package/src/hdcom/FacePicUpload.vue +59 -50
- package/src/hdcom/FaceRecTest.vue +87 -77
- package/src/hdcom/GridChart.vue +175 -162
- package/src/hdcom/GridExField.vue +328 -234
- package/src/hdcom/GridShow.vue +89 -39
- package/src/hdcom/HdAside.vue +192 -145
- package/src/hdcom/HdBtn.vue +44 -32
- package/src/hdcom/HdButton.vue +141 -117
- package/src/hdcom/HdComFaceRec.vue +80 -32
- package/src/hdcom/HdComGrid.vue +329 -229
- package/src/hdcom/HdComQuery.vue +179 -90
- package/src/hdcom/HdComQueryDetail.vue +159 -115
- package/src/hdcom/HdComSortDetail.vue +136 -130
- package/src/hdcom/HdDatePicker.vue +32 -16
- package/src/hdcom/HdDialog.vue +62 -44
- package/src/hdcom/HdDrop.vue +163 -138
- package/src/hdcom/HdFileUpload.vue +138 -119
- package/src/hdcom/HdFilterBox.vue +62 -62
- package/src/hdcom/HdFooter.vue +152 -119
- package/src/hdcom/HdForm.vue +276 -203
- package/src/hdcom/HdFormBtn.vue +81 -39
- package/src/hdcom/HdFormItem.vue +14 -10
- package/src/hdcom/HdGrid.vue +353 -156
- package/src/hdcom/HdGridEditBtn.vue +34 -20
- package/src/hdcom/HdGridExt.js +78 -47
- package/src/hdcom/HdGridSel.vue +227 -193
- package/src/hdcom/HdHeader.vue +149 -117
- package/src/hdcom/HdHotKey.vue +70 -67
- package/src/hdcom/HdInputHint.vue +40 -36
- package/src/hdcom/HdMain.vue +25 -27
- package/src/hdcom/HdMessage.vue +180 -171
- package/src/hdcom/HdNum.vue +67 -57
- package/src/hdcom/HdPopSel.vue +46 -24
- package/src/hdcom/HdRightMenu.vue +63 -61
- package/src/hdcom/HdSel/SelGridFieldcod.vue +46 -28
- package/src/hdcom/HdTableColumn.vue +156 -109
- package/src/hdcom/HdTempSave.vue +138 -116
- package/src/hdcom/HdTree.vue +89 -72
- package/src/hdcom/HdTreeTable/eval.js +8 -3
- package/src/hdcom/HdTreeTable/index.vue +229 -174
- package/src/hdcom/ImportExcel.vue +69 -34
- package/src/hdcom/index.js +39 -44
- package/src/idev.common.js +54 -47
- package/src/index.js +3 -6
- package/src/utils/HdQuery.js +25 -14
- package/src/utils/comutils.js +50 -28
- package/src/utils/gogocodeTransfer.js +59 -0
- package/src/utils/utils.js +30 -19
- package/src/vendor/Blob.js +187 -179
- package/src/vendor/Export2Excel.js +231 -220
- package/src/vendor/Export2Zip.js +25 -22
- package/src/views/layout/AppMain.vue +34 -32
- package/src/views/layout/HdLayout.vue +64 -52
- package/src/views/layout/header/ElasticSearch.vue +196 -159
- package/src/views/layout/header/HZRecorder.js +163 -135
- package/src/views/layout/header/HeaderSearch.vue +165 -145
- package/src/views/layout/header/Levelbar.vue +55 -49
- package/src/views/layout/header/MainHeader.vue +233 -189
- package/src/views/layout/header/Navbar.vue +74 -78
- package/src/views/layout/header/ScrollPane.vue +103 -81
- package/src/views/layout/header/TagsView.vue +169 -164
- package/src/views/layout/header/VocRec.vue +86 -78
- package/src/views/layout/header/changepswform.vue +98 -64
- package/src/views/layout/index.js +5 -7
- package/src/views/layout/menu/Hamburger.vue +63 -45
- package/src/views/layout/menu/HdMenu.vue +155 -118
- package/src/views/layout/menu/index.vue +21 -19
- package/src/views/privilege/commsg/commsg.vue +115 -41
- package/src/views/privilege/commsg/commsgOrgn.vue +40 -31
- package/src/views/privilege/commsg/commsgRole.vue +180 -109
- package/src/views/privilege/commsg/commsgform.vue +125 -101
- package/src/views/privilege/commsg/commsgiframe.vue +30 -23
- package/src/views/privilege/commsg/commsgto.vue +163 -84
- package/src/views/privilege/commsg/commsgtoform.vue +64 -58
- package/src/views/privilege/commsg/commsgtrans.vue +187 -115
- package/src/views/privilege/exfield/comexcolumn.vue +133 -43
- package/src/views/privilege/exfield/comexcolumnform.vue +85 -58
- package/src/views/privilege/exfield/comexfield.vue +15 -17
- package/src/views/privilege/exfield/comexfieldform.vue +71 -53
- package/src/views/privilege/exfield/comexfieldsub.vue +137 -46
- package/src/views/privilege/index.js +19 -20
- package/src/views/privilege/menu/comMenu.vue +49 -41
- package/src/views/privilege/menu/menu.vue +166 -49
- package/src/views/privilege/menu/menuinfo.vue +41 -34
- package/src/views/privilege/menu/rolelist.vue +78 -33
- package/src/views/privilege/menu/userlist.vue +76 -33
- package/src/views/privilege/mobile/authmobileupdate.vue +119 -43
- package/src/views/privilege/mobile/authmobileupdateform.vue +76 -46
- package/src/views/privilege/orgDept/authOrgn.vue +157 -65
- package/src/views/privilege/orgDept/authorgnform.vue +50 -38
- package/src/views/privilege/orgDept/orgDept.vue +38 -37
- package/src/views/privilege/orgDept/orgTree.vue +99 -88
- package/src/views/privilege/orgDept/orgnselect.vue +132 -111
- package/src/views/privilege/personDept/authuser.vue +197 -91
- package/src/views/privilege/personDept/authuserform.vue +123 -71
- package/src/views/privilege/personDept/facerec.vue +128 -83
- package/src/views/privilege/personDept/orgncascader.vue +134 -115
- package/src/views/privilege/personDept/personDept.vue +9 -7
- package/src/views/privilege/quartz/comquartzjob.vue +123 -38
- package/src/views/privilege/quartz/comquartzjobform.vue +67 -51
- package/src/views/privilege/quartz/comquartzlog.vue +116 -32
- package/src/views/privilege/role/btnRole.vue +123 -67
- package/src/views/privilege/role/menuRole.vue +65 -45
- package/src/views/privilege/role/orgnRole.vue +63 -41
- package/src/views/privilege/role/role.vue +26 -9
- package/src/views/privilege/role/rolelist.vue +114 -45
- package/src/views/privilege/role/roleselect.vue +34 -17
- package/src/views/privilege/search/comsearch.vue +164 -73
- package/src/views/privilege/search/menu.vue +38 -22
- package/src/views/privilege/syscode/syscode.vue +157 -69
- package/src/views/privilege/syscode/sysfield.vue +96 -43
- package/src/views/privilege/syscode/sysfieldframe.vue +30 -30
- package/src/views/privilege/syslog/menulog.vue +38 -22
- package/src/views/privilege/syslog/syslog.vue +145 -78
- package/src/views/privilege/syslog/syslogconfig.vue +91 -24
- package/src/views/privilege/syslog/syslogform.vue +45 -43
- package/src/views/privilege/syslog/syslogframe.vue +26 -26
- package/src/views/privilege/userRole/userRole.vue +187 -89
- package/vite.config.js +7 -0
- package/dist/assets/index.774ef40e.css +0 -1
- package/src/views/privilege.zip +0 -0
|
@@ -1,231 +1,259 @@
|
|
|
1
|
-
var audioContext = null
|
|
1
|
+
var audioContext = null
|
|
2
2
|
|
|
3
|
-
(function (window) {
|
|
3
|
+
;(function (window) {
|
|
4
4
|
// 兼容
|
|
5
|
-
window.URL = window.URL || window.webkitURL
|
|
6
|
-
navigator.getUserMedia =
|
|
7
|
-
|
|
5
|
+
window.URL = window.URL || window.webkitURL
|
|
6
|
+
navigator.getUserMedia =
|
|
7
|
+
navigator.getUserMedia ||
|
|
8
|
+
navigator.webkitGetUserMedia ||
|
|
9
|
+
navigator.mozGetUserMedia ||
|
|
10
|
+
navigator.msGetUserMedia
|
|
11
|
+
var audoStream = null
|
|
8
12
|
var HZRecorder = function (stream, config) {
|
|
9
|
-
config = config || {}
|
|
10
|
-
config.sampleBits = config.sampleBits || 16
|
|
11
|
-
config.sampleRate = config.sampleRate ||
|
|
13
|
+
config = config || {}
|
|
14
|
+
config.sampleBits = config.sampleBits || 16 // 采样数位 8, 16
|
|
15
|
+
config.sampleRate = config.sampleRate || 8000 // 采样率(1/6 44100)
|
|
12
16
|
if (!audioContext) {
|
|
13
|
-
audioContext = new AudioContext()
|
|
17
|
+
audioContext = new AudioContext()
|
|
14
18
|
}
|
|
15
|
-
audoStream = stream
|
|
16
|
-
var context = audioContext
|
|
17
|
-
var audioInput = context.createMediaStreamSource(stream)
|
|
18
|
-
var recorder = context.createScriptProcessor(4096, 1, 1)
|
|
19
|
+
audoStream = stream
|
|
20
|
+
var context = audioContext
|
|
21
|
+
var audioInput = context.createMediaStreamSource(stream)
|
|
22
|
+
var recorder = context.createScriptProcessor(4096, 1, 1)
|
|
19
23
|
var audioData = {
|
|
20
|
-
size: 0
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
this.buffer.push(new Float32Array(data))
|
|
28
|
-
this.size += data.length
|
|
29
|
-
}
|
|
30
|
-
|
|
24
|
+
size: 0, // 录音文件长度
|
|
25
|
+
buffer: [], // 录音缓存
|
|
26
|
+
inputSampleRate: context.sampleRate, // 输入采样率
|
|
27
|
+
inputSampleBits: 16, // 输入采样数位 8, 16
|
|
28
|
+
outputSampleRate: config.sampleRate, // 输出采样率
|
|
29
|
+
oututSampleBits: config.sampleBits, // 输出采样数位 8, 16
|
|
30
|
+
input: function (data) {
|
|
31
|
+
this.buffer.push(new Float32Array(data))
|
|
32
|
+
this.size += data.length
|
|
33
|
+
},
|
|
34
|
+
compress: function () {
|
|
35
|
+
// 合并压缩
|
|
31
36
|
// 合并
|
|
32
|
-
var data = new Float32Array(this.size)
|
|
33
|
-
var offset = 0
|
|
37
|
+
var data = new Float32Array(this.size)
|
|
38
|
+
var offset = 0
|
|
34
39
|
for (var i = 0; i < this.buffer.length; i++) {
|
|
35
|
-
data.set(this.buffer[i], offset)
|
|
36
|
-
offset += this.buffer[i].length
|
|
40
|
+
data.set(this.buffer[i], offset)
|
|
41
|
+
offset += this.buffer[i].length
|
|
37
42
|
}
|
|
38
43
|
// 压缩
|
|
39
|
-
var compression = parseInt(this.inputSampleRate / this.outputSampleRate)
|
|
40
|
-
var length = data.length / compression
|
|
41
|
-
var result = new Float32Array(length)
|
|
42
|
-
var index = 0,
|
|
44
|
+
var compression = parseInt(this.inputSampleRate / this.outputSampleRate)
|
|
45
|
+
var length = data.length / compression
|
|
46
|
+
var result = new Float32Array(length)
|
|
47
|
+
var index = 0,
|
|
48
|
+
j = 0
|
|
43
49
|
while (index < length) {
|
|
44
|
-
result[index] = data[j]
|
|
45
|
-
j += compression
|
|
46
|
-
index
|
|
50
|
+
result[index] = data[j]
|
|
51
|
+
j += compression
|
|
52
|
+
index++
|
|
47
53
|
}
|
|
48
|
-
return result
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
var sampleRate = Math.min(this.inputSampleRate, this.outputSampleRate)
|
|
52
|
-
var sampleBits = Math.min(this.inputSampleBits, this.oututSampleBits)
|
|
53
|
-
var bytes = this.compress()
|
|
54
|
-
var dataLength = bytes.length * (sampleBits / 8)
|
|
55
|
-
var buffer = new ArrayBuffer(44 + dataLength)
|
|
56
|
-
var data = new DataView(buffer)
|
|
54
|
+
return result
|
|
55
|
+
},
|
|
56
|
+
encodeWAV: function () {
|
|
57
|
+
var sampleRate = Math.min(this.inputSampleRate, this.outputSampleRate)
|
|
58
|
+
var sampleBits = Math.min(this.inputSampleBits, this.oututSampleBits)
|
|
59
|
+
var bytes = this.compress()
|
|
60
|
+
var dataLength = bytes.length * (sampleBits / 8)
|
|
61
|
+
var buffer = new ArrayBuffer(44 + dataLength)
|
|
62
|
+
var data = new DataView(buffer)
|
|
57
63
|
|
|
58
|
-
var channelCount = 1
|
|
59
|
-
var offset = 0
|
|
64
|
+
var channelCount = 1 // 单声道
|
|
65
|
+
var offset = 0
|
|
60
66
|
|
|
61
67
|
var writeString = function (str) {
|
|
62
68
|
for (var i = 0; i < str.length; i++) {
|
|
63
|
-
data.setUint8(offset + i, str.charCodeAt(i))
|
|
69
|
+
data.setUint8(offset + i, str.charCodeAt(i))
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
// 资源交换文件标识符
|
|
68
|
-
writeString('RIFF')
|
|
69
|
-
offset += 4
|
|
74
|
+
writeString('RIFF')
|
|
75
|
+
offset += 4
|
|
70
76
|
// 下个地址开始到文件尾总字节数,即文件大小-8
|
|
71
|
-
data.setUint32(offset, 36 + dataLength, true)
|
|
72
|
-
offset += 4
|
|
77
|
+
data.setUint32(offset, 36 + dataLength, true)
|
|
78
|
+
offset += 4
|
|
73
79
|
// WAV文件标志
|
|
74
|
-
writeString('WAVE')
|
|
75
|
-
offset += 4
|
|
80
|
+
writeString('WAVE')
|
|
81
|
+
offset += 4
|
|
76
82
|
// 波形格式标志
|
|
77
|
-
writeString('fmt ')
|
|
78
|
-
offset += 4
|
|
83
|
+
writeString('fmt ')
|
|
84
|
+
offset += 4
|
|
79
85
|
// 过滤字节,一般为 0x10 = 16
|
|
80
|
-
data.setUint32(offset, 16, true)
|
|
81
|
-
offset += 4
|
|
86
|
+
data.setUint32(offset, 16, true)
|
|
87
|
+
offset += 4
|
|
82
88
|
// 格式类别 (PCM形式采样数据)
|
|
83
|
-
data.setUint16(offset, 1, true)
|
|
84
|
-
offset += 2
|
|
89
|
+
data.setUint16(offset, 1, true)
|
|
90
|
+
offset += 2
|
|
85
91
|
// 通道数
|
|
86
|
-
data.setUint16(offset, channelCount, true)
|
|
87
|
-
offset += 2
|
|
92
|
+
data.setUint16(offset, channelCount, true)
|
|
93
|
+
offset += 2
|
|
88
94
|
// 采样率,每秒样本数,表示每个通道的播放速度
|
|
89
|
-
data.setUint32(offset, sampleRate, true)
|
|
90
|
-
offset += 4
|
|
95
|
+
data.setUint32(offset, sampleRate, true)
|
|
96
|
+
offset += 4
|
|
91
97
|
// 波形数据传输率 (每秒平均字节数) 单声道×每秒数据位数×每样本数据位/8
|
|
92
|
-
data.setUint32(
|
|
93
|
-
|
|
98
|
+
data.setUint32(
|
|
99
|
+
offset,
|
|
100
|
+
channelCount * sampleRate * (sampleBits / 8),
|
|
101
|
+
true
|
|
102
|
+
)
|
|
103
|
+
offset += 4
|
|
94
104
|
// 快数据调整数 采样一次占用字节数 单声道×每样本的数据位数/8
|
|
95
|
-
data.setUint16(offset, channelCount * (sampleBits / 8), true)
|
|
96
|
-
offset += 2
|
|
105
|
+
data.setUint16(offset, channelCount * (sampleBits / 8), true)
|
|
106
|
+
offset += 2
|
|
97
107
|
// 每样本数据位数
|
|
98
|
-
data.setUint16(offset, sampleBits, true)
|
|
99
|
-
offset += 2
|
|
108
|
+
data.setUint16(offset, sampleBits, true)
|
|
109
|
+
offset += 2
|
|
100
110
|
// 数据标识符
|
|
101
|
-
writeString('data')
|
|
102
|
-
offset += 4
|
|
111
|
+
writeString('data')
|
|
112
|
+
offset += 4
|
|
103
113
|
// 采样数据总数,即数据总大小-44
|
|
104
|
-
data.setUint32(offset, dataLength, true)
|
|
105
|
-
offset += 4
|
|
114
|
+
data.setUint32(offset, dataLength, true)
|
|
115
|
+
offset += 4
|
|
106
116
|
// 写入采样数据
|
|
107
117
|
if (sampleBits === 8) {
|
|
108
118
|
for (var i = 0; i < bytes.length; i++, offset++) {
|
|
109
|
-
var s = Math.max(-1, Math.min(1, bytes[i]))
|
|
110
|
-
var val = s < 0 ? s * 0x8000 : s *
|
|
111
|
-
val = parseInt(255 / (65535 / (val + 32768)))
|
|
112
|
-
data.setInt8(offset, val, true)
|
|
119
|
+
var s = Math.max(-1, Math.min(1, bytes[i]))
|
|
120
|
+
var val = s < 0 ? s * 0x8000 : s * 0x7fff
|
|
121
|
+
val = parseInt(255 / (65535 / (val + 32768)))
|
|
122
|
+
data.setInt8(offset, val, true)
|
|
113
123
|
}
|
|
114
124
|
} else {
|
|
115
125
|
for (var i = 0; i < bytes.length; i++, offset += 2) {
|
|
116
|
-
var s = Math.max(-1, Math.min(1, bytes[i]))
|
|
117
|
-
data.setInt16(offset, s < 0 ? s * 0x8000 : s *
|
|
126
|
+
var s = Math.max(-1, Math.min(1, bytes[i]))
|
|
127
|
+
data.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true)
|
|
118
128
|
}
|
|
119
129
|
}
|
|
120
130
|
|
|
121
|
-
return new Blob([data], {type: 'audio/wav'})
|
|
122
|
-
}
|
|
123
|
-
}
|
|
131
|
+
return new Blob([data], { type: 'audio/wav' })
|
|
132
|
+
},
|
|
133
|
+
}
|
|
124
134
|
|
|
125
135
|
// 开始录音
|
|
126
136
|
this.start = function () {
|
|
127
|
-
audioInput.connect(recorder)
|
|
128
|
-
recorder.connect(context.destination)
|
|
137
|
+
audioInput.connect(recorder)
|
|
138
|
+
recorder.connect(context.destination)
|
|
129
139
|
}
|
|
130
140
|
|
|
131
141
|
// 停止
|
|
132
142
|
this.stop = function () {
|
|
133
143
|
if (audioContext) {
|
|
134
|
-
audioContext.close()
|
|
144
|
+
audioContext.close()
|
|
135
145
|
}
|
|
136
|
-
audoStream.getTracks()[0].stop()
|
|
137
|
-
audioContext = null
|
|
146
|
+
audoStream.getTracks()[0].stop()
|
|
147
|
+
audioContext = null
|
|
138
148
|
}
|
|
139
149
|
|
|
140
150
|
// 获取音频文件
|
|
141
151
|
this.getBlob = function () {
|
|
142
152
|
// this.stop();
|
|
143
|
-
return audioData.encodeWAV()
|
|
153
|
+
return audioData.encodeWAV()
|
|
144
154
|
}
|
|
145
155
|
|
|
146
156
|
// 回放
|
|
147
157
|
this.play = function (audio) {
|
|
148
|
-
audio.src = window.URL.createObjectURL(this.getBlob())
|
|
158
|
+
audio.src = window.URL.createObjectURL(this.getBlob())
|
|
149
159
|
}
|
|
150
160
|
|
|
151
161
|
// 上传
|
|
152
162
|
this.upload = function (url, callback) {
|
|
153
|
-
var fd = new FormData()
|
|
154
|
-
fd.append(
|
|
155
|
-
fd.append('mp3Name',
|
|
156
|
-
var xhr = new XMLHttpRequest()
|
|
163
|
+
var fd = new FormData()
|
|
164
|
+
fd.append('file', this.getBlob())
|
|
165
|
+
fd.append('mp3Name', 'myname.wav')
|
|
166
|
+
var xhr = new XMLHttpRequest()
|
|
157
167
|
if (callback) {
|
|
158
|
-
xhr.upload.addEventListener(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
xhr.upload.addEventListener(
|
|
169
|
+
'progress',
|
|
170
|
+
function (e) {
|
|
171
|
+
callback('uploading', e)
|
|
172
|
+
},
|
|
173
|
+
false
|
|
174
|
+
)
|
|
175
|
+
xhr.addEventListener(
|
|
176
|
+
'load',
|
|
177
|
+
function (e) {
|
|
178
|
+
callback('ok', e)
|
|
179
|
+
},
|
|
180
|
+
false
|
|
181
|
+
)
|
|
182
|
+
xhr.addEventListener(
|
|
183
|
+
'error',
|
|
184
|
+
function (e) {
|
|
185
|
+
callback('error', e)
|
|
186
|
+
},
|
|
187
|
+
false
|
|
188
|
+
)
|
|
189
|
+
xhr.addEventListener(
|
|
190
|
+
'abort',
|
|
191
|
+
function (e) {
|
|
192
|
+
callback('cancel', e)
|
|
193
|
+
},
|
|
194
|
+
false
|
|
195
|
+
)
|
|
170
196
|
}
|
|
171
|
-
xhr.open(
|
|
172
|
-
xhr.send(fd)
|
|
197
|
+
xhr.open('POST', url)
|
|
198
|
+
xhr.send(fd)
|
|
173
199
|
}
|
|
174
200
|
|
|
175
201
|
// 音频采集
|
|
176
202
|
recorder.onaudioprocess = function (e) {
|
|
177
|
-
audioData.input(e.inputBuffer.getChannelData(0))
|
|
203
|
+
audioData.input(e.inputBuffer.getChannelData(0))
|
|
178
204
|
// record(e.inputBuffer.getChannelData(0));
|
|
179
205
|
}
|
|
180
|
-
|
|
181
|
-
};
|
|
206
|
+
}
|
|
182
207
|
// 抛出异常
|
|
183
208
|
HZRecorder.throwError = function (message) {
|
|
184
|
-
alert(message)
|
|
185
|
-
throw new function () {
|
|
209
|
+
alert(message)
|
|
210
|
+
throw new (function () {
|
|
186
211
|
this.toString = function () {
|
|
187
|
-
return message
|
|
212
|
+
return message
|
|
188
213
|
}
|
|
189
|
-
}
|
|
214
|
+
})()
|
|
190
215
|
}
|
|
191
216
|
// 是否支持录音
|
|
192
|
-
HZRecorder.canRecording =
|
|
217
|
+
HZRecorder.canRecording = navigator.getUserMedia != null
|
|
193
218
|
// 获取录音机
|
|
194
219
|
HZRecorder.get = function (callback, config) {
|
|
195
220
|
if (callback) {
|
|
196
221
|
if (navigator.getUserMedia) {
|
|
197
222
|
navigator.getUserMedia(
|
|
198
|
-
{audio: true} // 只启用音频
|
|
199
|
-
|
|
200
|
-
var rec = new HZRecorder(stream, config)
|
|
201
|
-
callback(rec)
|
|
202
|
-
}
|
|
203
|
-
|
|
223
|
+
{ audio: true }, // 只启用音频
|
|
224
|
+
function (stream) {
|
|
225
|
+
var rec = new HZRecorder(stream, config)
|
|
226
|
+
callback(rec)
|
|
227
|
+
},
|
|
228
|
+
function (error) {
|
|
204
229
|
switch (error.code || error.name) {
|
|
205
230
|
case 'PERMISSION_DENIED':
|
|
206
231
|
case 'PermissionDeniedError':
|
|
207
|
-
HZRecorder.throwError(this.$t('用户拒绝提供信息。'))
|
|
208
|
-
break
|
|
232
|
+
HZRecorder.throwError(this.$t('用户拒绝提供信息。'))
|
|
233
|
+
break
|
|
209
234
|
case 'NOT_SUPPORTED_ERROR':
|
|
210
235
|
case 'NotSupportedError':
|
|
211
|
-
HZRecorder.throwError(this.$t('浏览器不支持硬件设备。'))
|
|
212
|
-
break
|
|
236
|
+
HZRecorder.throwError(this.$t('浏览器不支持硬件设备。'))
|
|
237
|
+
break
|
|
213
238
|
case 'MANDATORY_UNSATISFIED_ERROR':
|
|
214
239
|
case 'MandatoryUnsatisfiedError':
|
|
215
|
-
HZRecorder.throwError(this.$t('无法发现指定的硬件设备。'))
|
|
216
|
-
break
|
|
240
|
+
HZRecorder.throwError(this.$t('无法发现指定的硬件设备。'))
|
|
241
|
+
break
|
|
217
242
|
default:
|
|
218
|
-
HZRecorder.throwError(
|
|
219
|
-
|
|
243
|
+
HZRecorder.throwError(
|
|
244
|
+
this.$t('无法打开麦克风。异常信息:') +
|
|
245
|
+
(error.code || error.name)
|
|
246
|
+
)
|
|
247
|
+
break
|
|
220
248
|
}
|
|
221
|
-
}
|
|
249
|
+
}
|
|
250
|
+
)
|
|
222
251
|
} else {
|
|
223
|
-
HZRecorder.throwErr(this.$t('当前浏览器不支持录音功能。'))
|
|
224
|
-
return
|
|
252
|
+
HZRecorder.throwErr(this.$t('当前浏览器不支持录音功能。'))
|
|
253
|
+
return
|
|
225
254
|
}
|
|
226
255
|
}
|
|
227
256
|
}
|
|
228
257
|
|
|
229
|
-
window.HZRecorder = HZRecorder
|
|
230
|
-
|
|
231
|
-
})(window);
|
|
258
|
+
window.HZRecorder = HZRecorder
|
|
259
|
+
})(window)
|