-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Test SpeechSynthesisUtterance volume attribute (#9963)
- Loading branch information
guest271314
authored and
Marcos Cáceres
committed
Jul 23, 2019
1 parent
c6eeead
commit d255b4e
Showing
1 changed file
with
64 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<title>5.2.3 SpeechSynthesisUtterance volume attribute test - Manual</title> | ||
<style> | ||
div, | ||
#test { | ||
display: block; | ||
width: 640px; | ||
word-break: break-all; | ||
padding: 4px; | ||
} | ||
#test, | ||
#volume { | ||
background: skyblue; | ||
font-weight: bold; | ||
} | ||
</style> | ||
<script> | ||
const text = "hello universe"; | ||
const volumes = [0, 0.2, 0.4, 0.6, 1]; | ||
|
||
handleVoicesChanged = async _ => { | ||
for (const volume of volumes) { | ||
await new Promise(resolve => { | ||
document.getElementById("volume").value = volume; | ||
const utterance = new SpeechSynthesisUtterance(); | ||
utterance.text = "hello universe"; | ||
utterance.volume = volume; | ||
utterance.onend = resolve; | ||
window.speechSynthesis.speak(utterance); | ||
}); | ||
}; | ||
}; | ||
onload = e => { | ||
document.getElementById("test").onclick = _ => { | ||
if (window.speechSynthesis.getVoices().length === 0) { | ||
window.speechSynthesis.onvoiceschanged = handleVoicesChanged; | ||
} else { | ||
handleVoicesChanged() | ||
} | ||
}; | ||
}; | ||
</script> | ||
</head> | ||
<body> | ||
<div> | ||
<h3>Specification:</h3> | ||
<a href="https://w3c.github.io/speech-api/speechapi.html#utterance-attributes"><b><code><i><u>volume</u></i></code> attribute</b></a> | ||
<blockquote> | ||
This attribute specifies the speaking volume for the utterance. It ranges between 0 and 1 inclusive, with 0 being the lowest volume and 1 the highest volume, with a default of 1. If SSML is used, this value will be overridden by prosody tags in the markup. | ||
</blockquote> | ||
</div> | ||
<div id="test"> | ||
Click to execute <code>window.speechSynthesis.speak()</code> with <code>volume attribute</code> set to <code>0, 0.2, 0.4, 0.6, 1.</code> | ||
</div> | ||
<br> | ||
<div> | ||
<label for="volume">Current volume: </label> | ||
<input id="volume" readonly> | ||
<h3>Manaul Test:</h3>Does the volume of audio output change? | ||
</div> | ||
</body> | ||
</html> |