Skip to content

Instantly share code, notes, and snippets.

@taingmeng
Last active November 19, 2017 02:40
Show Gist options
  • Save taingmeng/b2510b586cf169b9862deb2f150c00c7 to your computer and use it in GitHub Desktop.
Save taingmeng/b2510b586cf169b9862deb2f150c00c7 to your computer and use it in GitHub Desktop.
Badminton Score Tutorial - Part 2
import annyang from 'annyang'
class Annyang {
// 1
isSupported() {
return annyang !== null
}
// 2
start() {
if (annyang) {
annyang.start()
}
}
// 3
abort() {
if (annyang) {
annyang.abort()
}
}
// 4
resume() {
if (annyang) {
annyang.resume()
}
}
// 5
addCommands(reset, change, undo) {
if (annyang) {
annyang.addCommands({
'reset': () => reset(),
'change': () => change(),
'undo': () => undo()
})
}
}
// 6
addCallback(engineCallback, resultCallback) {
if (annyang) {
annyang.addCallback('start', event => engineCallback('on'))
annyang.addCallback('soundstart', event => engineCallback('listening'))
annyang.addCallback('end', event => engineCallback('off'))
annyang.addCallback('error', event => engineCallback(event.error))
annyang.addCallback('errorNetwork', event => engineCallback('network error'))
annyang.addCallback('errorPermissionBlocked', event => engineCallback('permission blocked'))
annyang.addCallback('errorPermissionDenied', event => engineCallback('permission denied'))
annyang.addCallback('result', event => resultCallback(event))
}
}
}
// 7
export default new Annyang()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment