1import "./recorder.wav.min.js"; 2 3let rec; 4let isStart; 5let handler; 6 7export function bb_baidu_speech_recognizeOnce(obj, recognizeCallback, interval) { 8 Recorder.TrafficImgUrl = ""; 9 rec = new Recorder({ type: "wav", sampleRate: 16000, bitRate: 16 }); 10 rec.open(function () { 11 isStart = true; 12 rec.start(); 13 // éç¥ UI å¼å§æ¥æ¶è¯é³ 14 obj.invokeMethodAsync(recognizeCallback, "Start", ""); 15 handler = setTimeout(function () { 16 bb_baidu_speech_close(obj, recognizeCallback, interval); 17 }, interval); 18 }, function (msg, isUserNotAllow) { 19 obj.invokeMethodAsync(recognizeCallback, "Error", "UserNotAllow"); 20 }); 21}; 22 23export function bb_baidu_speech_close(obj, recognizeCallback, interval) { 24 if (handler != 0) { 25 clearTimeout(handler); 26 handler = 0; 27 } 28 29 if (isStart) { 30 isStart = false; 31 rec.stop((blob, duration) => { 32 var reader = blob.stream().getReader(); 33 reader.read().then(value => { 34 obj.invokeMethodAsync(recognizeCallback, "Finished", value.value); 35 }); 36 }, msg => { 37 obj.invokeMethodAsync(recognizeCallback, "Error", msg); 38 }, true); 39 } 40 else { 41 obj.invokeMethodAsync(recognizeCallback, "Close", ""); 42 } 43};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.