JavaScript로 읽기 스크립트 만들기
19589 단어 JavaScriptWebSpeechAPItech
HTTP 상태 코드 100인 1곡은?
3땅콩 튀김 제작된 새로운 카드 게임.
잘 아는 HTTP 상태 코드로 백 명이 한 곡씩 이런 멋을 낼 수 있는 작품이다.
원래 추천한 인원은'카드읽기인:1명, 픽업인:2~4명'으로'카드읽기인:0명'이 즐길 수 있도록 낭독 도구를 만들었다.
완성품은 이쪽에 있어요.
링크 대상에 실제로 이동할 수 있는 도구가 있습니다.
자주 단련에 꼭 사용하세요!
소스 코드
HTML
<div id="message">
<p id="tool-title">HTTPステータスコードの読み上げ</p>
<input type="checkbox" id="status-select" name="status-select" checked="checked">
<label for="status-select">ステータスを読み上げる</label><br>
<input type="checkbox" id="code-select" name="code-select" checked="checked">
<label for="code-select">コードを読み上げる</label><br>
速度:
<select id="speed-select">
<option value="0.5">ゆっくり</option>
<option value="0.8" selected="selected">ふつう</option>
<option value="1.2">はやい</option>
</select><br>
<button id="speak-btn">読み上げ</button>
</div>
JavaScript
const speedSelect = document.querySelector('#speed-select')
const statusSelect = document.querySelector('#status-select')
const codeSelect = document.querySelector('#code-select')
const speakBtn = document.querySelector('#speak-btn')
speakBtn.addEventListener('click', function() {
//jsonデータは、ここでは一部省略
let card = [{"code":"504","status":"Gateway Time out","reading":"ゲイトウェイ タイム アウト ","description":"ゲートウェイが時間内にレスポンスを返す事ができませんでした。"},{"code":"503","status":"Service Unavailable","reading":"サービス アナヴェイラブル ","description":"リクエストを受け付ける準備ができていません。"}]
card = shuffle(card)
let talk = new SpeechSynthesisUtterance()
talk.rate = speedSelect.value
talk.lang = "ja-JP"
talk.pitch = 0.8;
let msg = "OKを押すと、次の札を読み上げます"
for(let i in card) {
talk.text = card[i].description
if( statusSelect.checked )
talk.text += card[i].reading
if( codeSelect.checked )
talk.text += "。" + card[i].code
speechSynthesis.speak(talk)
if(! confirm( "OKを押すと、この札の情報を表示します" ) )
break
speechSynthesis.cancel()
if( i == card.length -1 )
msg = "お疲れ様でした!"
if( ! confirm(card[i].code + ":" + card[i].status + "\n\n" + msg) )
break
}
speechSynthesis.cancel()
})
const shuffle = (array) => {
for(i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1))
const tmp = array[i]
array[i] = array[j]
array[j] = tmp
}
return array
}
인코딩 중 겪는 어려움
인코딩에서 겪는 어려움과 회피 방법을 필기로 쓰다.
순환 2주 차부터 읽지 못했다.
→ 순환 중, speechSynthesis.cancel () 을 부르면 순조롭다.
나는 카드를 읽기 전에 효과음을 넣고 싶다.하지만 낭독은 시기와 맞지 않는다.
→나는 이것을 포기했다.
일본어 API의 영어 단어는 읽기에 매우 부자연스럽다.유리를 백합으로 읽어.
→ 가명 영어의 데이터를 만들어 읽는다.
총결산
HTTP 상태 코드 100인 1곡.링크가 있습니다.좋은 게임이니까 꼭 구매해주세요.
도구와 코드 공개에 대해 땅콩 튀김 선생도 흔쾌히 승낙했다.
감사합니다.
끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(JavaScript로 읽기 스크립트 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/classynode/articles/ce7340a1589ebb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)