mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2024-12-25 07:22:33 -05:00
Add mic indicator update event for speech2text
This commit is contained in:
parent
64a1d3e02b
commit
e44eff48e3
2 changed files with 16 additions and 0 deletions
|
@ -457,6 +457,15 @@ class Runtime extends EventEmitter {
|
||||||
return 'PERIPHERAL_SCAN_TIMEOUT';
|
return 'PERIPHERAL_SCAN_TIMEOUT';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event name for requesting an update of the indicator that shows that the
|
||||||
|
* microphone is being used to stream audio.
|
||||||
|
* @const {string}
|
||||||
|
*/
|
||||||
|
static get UPDATE_MIC_INDICATOR () {
|
||||||
|
return 'UPDATE_MIC_INDICATOR';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event name for reporting that blocksInfo was updated.
|
* Event name for reporting that blocksInfo was updated.
|
||||||
* @const {string}
|
* @const {string}
|
||||||
|
@ -989,6 +998,10 @@ class Runtime extends EventEmitter {
|
||||||
return isConnected;
|
return isConnected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
requestMicIndicatorUpdate (visible) {
|
||||||
|
this.emit(Runtime.UPDATE_MIC_INDICATOR, visible);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the function associated with the given opcode.
|
* Retrieve the function associated with the given opcode.
|
||||||
* @param {!string} opcode The opcode to look up.
|
* @param {!string} opcode The opcode to look up.
|
||||||
|
|
|
@ -236,6 +236,8 @@ class Scratch3Speech2TextBlocks {
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_stopListening () {
|
_stopListening () {
|
||||||
|
this.runtime.requestMicIndicatorUpdate(false);
|
||||||
|
|
||||||
// Note that this can be called before any Listen And Wait block did setup,
|
// Note that this can be called before any Listen And Wait block did setup,
|
||||||
// so check that things exist before disconnecting them.
|
// so check that things exist before disconnecting them.
|
||||||
if (this._context) {
|
if (this._context) {
|
||||||
|
@ -436,6 +438,7 @@ class Scratch3Speech2TextBlocks {
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_startListening () {
|
_startListening () {
|
||||||
|
this.runtime.requestMicIndicatorUpdate(true);
|
||||||
this._initListening();
|
this._initListening();
|
||||||
// Force the block to timeout if we don't get any results back/the user didn't say anything.
|
// Force the block to timeout if we don't get any results back/the user didn't say anything.
|
||||||
this._speechTimeoutId = setTimeout(this._stopTranscription, listenAndWaitBlockTimeoutMs);
|
this._speechTimeoutId = setTimeout(this._stopTranscription, listenAndWaitBlockTimeoutMs);
|
||||||
|
|
Loading…
Reference in a new issue