Showing
4 changed files
with
55 additions
and
6 deletions
... | @@ -13,7 +13,6 @@ | ... | @@ -13,7 +13,6 @@ |
13 | <link href="https://fonts.googleapis.com/css2?family=Raleway:wght@200&display=swap" rel="stylesheet"> | 13 | <link href="https://fonts.googleapis.com/css2?family=Raleway:wght@200&display=swap" rel="stylesheet"> |
14 | <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+KR&family=Raleway:wght@200&display=swap" rel="stylesheet"> | 14 | <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+KR&family=Raleway:wght@200&display=swap" rel="stylesheet"> |
15 | <script defer src="https://cdn.rawgit.com/mattdiamond/Recorderjs/08e7abd9/dist/recorder.js"></script> | 15 | <script defer src="https://cdn.rawgit.com/mattdiamond/Recorderjs/08e7abd9/dist/recorder.js"></script> |
16 | - <script defer src="client.js"></script> | ||
17 | <meta name="description" content="Free and open-source online code editor that allows you to write and execute code from a rich set of languages."> | 16 | <meta name="description" content="Free and open-source online code editor that allows you to write and execute code from a rich set of languages."> |
18 | <meta name="keywords" content="online editor, online code editor, online ide, online compiler, online interpreter, run code online, learn programming online, | 17 | <meta name="keywords" content="online editor, online code editor, online ide, online compiler, online interpreter, run code online, learn programming online, |
19 | online debugger, programming in browser, online code runner, online code execution, debug online, debug C code online, debug C++ code online, | 18 | online debugger, programming in browser, online code runner, online code execution, debug online, debug C code online, debug C++ code online, |
... | @@ -94,7 +93,7 @@ | ... | @@ -94,7 +93,7 @@ |
94 | <div class="output_bar"> | 93 | <div class="output_bar"> |
95 | <h2>Transcription Raw Data</h2> | 94 | <h2>Transcription Raw Data</h2> |
96 | </div> | 95 | </div> |
97 | - <div id="output" style="overflow:auto;"></div> | 96 | + <div id="output" style="overflow:auto"></div> |
98 | <i class="fas fa-arrow-circle-down"></i> | 97 | <i class="fas fa-arrow-circle-down"></i> |
99 | <div class="output_bar"> | 98 | <div class="output_bar"> |
100 | <h2>TTP</h2> | 99 | <h2>TTP</h2> | ... | ... |
... | @@ -27,13 +27,18 @@ function transcribeText() { | ... | @@ -27,13 +27,18 @@ function transcribeText() { |
27 | audioStream.getAudioTracks()[0].stop(); | 27 | audioStream.getAudioTracks()[0].stop(); |
28 | rec.exportWAV(uploadSoundData); | 28 | rec.exportWAV(uploadSoundData); |
29 | } | 29 | } |
30 | +let px = 0; | ||
31 | +let input_line = "" | ||
30 | function uploadSoundData(blob) { | 32 | function uploadSoundData(blob) { |
31 | let filename = new Date().toISOString(); | 33 | let filename = new Date().toISOString(); |
32 | let xhr = new XMLHttpRequest(); | 34 | let xhr = new XMLHttpRequest(); |
33 | let formData = new FormData(); | 35 | let formData = new FormData(); |
34 | xhr.onload = function(e) { | 36 | xhr.onload = function(e) { |
35 | if(this.readyState === 4) { | 37 | if(this.readyState === 4) { |
38 | + | ||
36 | document.getElementById("output").innerHTML += `${cnt++}: ${JSON.parse(e.target.responseText)}<br><br>`; | 39 | document.getElementById("output").innerHTML += `${cnt++}: ${JSON.parse(e.target.responseText)}<br><br>`; |
40 | + input_line += 'print("hello")'; | ||
41 | + sourceEditor.setValue(input_line); | ||
37 | } | 42 | } |
38 | }; | 43 | }; |
39 | formData.append("audio_data", blob, filename); | 44 | formData.append("audio_data", blob, filename); | ... | ... |
... | @@ -400,7 +400,7 @@ function changeEditorLanguage() { | ... | @@ -400,7 +400,7 @@ function changeEditorLanguage() { |
400 | 400 | ||
401 | function insertTemplate() { | 401 | function insertTemplate() { |
402 | currentLanguageId = parseInt(71); | 402 | currentLanguageId = parseInt(71); |
403 | - sourceEditor.setValue(sources[currentLanguageId]); | 403 | + //sourceEditor.setValue(sources[currentLanguageId]+'\n'+'print("hello world")'); |
404 | changeEditorLanguage(); | 404 | changeEditorLanguage(); |
405 | } | 405 | } |
406 | 406 | ||
... | @@ -1336,3 +1336,51 @@ var languageApiUrlTable = { | ... | @@ -1336,3 +1336,51 @@ var languageApiUrlTable = { |
1336 | 1023: extraApiUrl, | 1336 | 1023: extraApiUrl, |
1337 | 1024: extraApiUrl | 1337 | 1024: extraApiUrl |
1338 | } | 1338 | } |
1339 | + | ||
1340 | +let rec = null; | ||
1341 | +let audioStream = null; | ||
1342 | +const recordButton = document.getElementById("recordButton"); | ||
1343 | +const transcribeButton = document.getElementById("transcribeButton"); | ||
1344 | +recordButton.addEventListener("click", startRecording); | ||
1345 | +transcribeButton.addEventListener("click", transcribeText); | ||
1346 | +let cnt = 1; | ||
1347 | +function startRecording() { | ||
1348 | + let constraints = { audio: true, video:false } | ||
1349 | + recordButton.disabled = true; | ||
1350 | + transcribeButton.disabled = false; | ||
1351 | + navigator.mediaDevices.getUserMedia(constraints).then(function(stream) { | ||
1352 | + const audioContext = new window.AudioContext(); | ||
1353 | + audioStream = stream; | ||
1354 | + const input = audioContext.createMediaStreamSource(stream); | ||
1355 | + rec = new Recorder(input, { numChannels:1 }) | ||
1356 | + rec.record() | ||
1357 | + }).catch(function(err) { | ||
1358 | + recordButton.disabled = false; | ||
1359 | + transcribeButton.disabled = true; | ||
1360 | + }); | ||
1361 | +} | ||
1362 | +function transcribeText() { | ||
1363 | + transcribeButton.disabled = true; | ||
1364 | + recordButton.disabled = false; | ||
1365 | + rec.stop(); | ||
1366 | + audioStream.getAudioTracks()[0].stop(); | ||
1367 | + rec.exportWAV(uploadSoundData); | ||
1368 | +} | ||
1369 | +let px = 0; | ||
1370 | +let input_line = "" | ||
1371 | +function uploadSoundData(blob) { | ||
1372 | + let filename = new Date().toISOString(); | ||
1373 | + let xhr = new XMLHttpRequest(); | ||
1374 | + let formData = new FormData(); | ||
1375 | + xhr.onload = function(e) { | ||
1376 | + if(this.readyState === 4) { | ||
1377 | + | ||
1378 | + document.getElementById("output").innerHTML += `${cnt++}: ${JSON.parse(e.target.responseText)}<br><br>`; | ||
1379 | + input_line += 'print("hello")\n'; | ||
1380 | + sourceEditor.setValue(input_line); | ||
1381 | + } | ||
1382 | + }; | ||
1383 | + formData.append("audio_data", blob, filename); | ||
1384 | + xhr.open("POST", "/upload_sound", true); | ||
1385 | + xhr.send(formData); | ||
1386 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
Voicoding_web/js/package-lock.json
deleted
100644 → 0
-
Please register or login to post a comment