Share via


SpeechRecognizer.AudioCaptureStateChanged event

 

The AudioCaptureStateChanged event is raised when the current speech recognition session moves from one state to another.

Syntax

public event Windows.Foundation.TypedEventHandler<SpeechRecognizer,SpeechRecognitionAudioCaptureStateChangedEventArgs> AudioCaptureStateChanged

Remarks

Use this event to signal UI changes in your speech controls to reflect the current state of the capture process.

The SpeechRecognitionAudioCaptureStateChangedEventArgs object associated with this event contains a SpeechRecognizerAudioCaptureState enumeration value that specifies the current state. For a list of valid states, see the SpeechRecognizerAudioCaptureState enumeration documentation.

Example

The following code example prints status information to a TextBlock named StatusBar.

private static SpeechRecognizer SR;
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    var credentials = new SpeechAuthorizationParameters();
    credentials.ClientId = "<YOUR CLIENT ID>";
    credentials.ClientSecret = "<YOUR CLIENT SECRET>";
    SR = new SpeechRecognizer("en-US", credentials);
    SR.AudioCaptureStateChanged += SR_AudioCaptureStateChanged;
}

void SR_AudioCaptureStateChanged(SpeechRecognizer sender, 
      SpeechRecognitionAudioCaptureStateChangedEventArgs args)
{
    switch (args.State)
    {
        case SpeechRecognizerAudioCaptureState.Canceled:
            this.StatusBar.Text = "Operation cancelled.";
            break;
        case SpeechRecognizerAudioCaptureState.Cancelling:
            this.StatusBar.Text = "Cancelling capture operation...";
            break;
        case SpeechRecognizerAudioCaptureState.Complete:
            this.StatusBar.Text = "Audio capture complete.";
            break;
        case SpeechRecognizerAudioCaptureState.Initializing:
            this.StatusBar.Text = "Initializing audio capture...";
            break;
        case SpeechRecognizerAudioCaptureState.Listening:
            this.StatusBar.Text = "Listening...";
            break;
        case SpeechRecognizerAudioCaptureState.Thinking:
            this.StatusBar.Text = "Interpreting audio input...";
            break;
        default:
            this.StatusBar.Text = "Unknown capture state.";
            break;
    }    
}
var SR;
function pageLoaded() {
    var credentials = new Bing.Speech.SpeechAuthorizationParameters();
    credentials.clientId = "<YOUR CLIENT ID>";
    credentials.clientSecret = "<YOUR CLIENT SECRET>";
    SR = new Bing.Speech.SpeechRecognizer("en-US", credentials);

    SR.onaudiocapturestatechanged = SR_AudioCaptureStateChanged;
}

function SR_AudioCaptureStateChanged(sender, args) {
    var statusBar = document.getElementById("StatusBar");
    switch (args.State) {
        case SpeechRecognizerAudioCaptureState.Canceled:
            statusBar.Text = "Operation cancelled.";
            break;
        case SpeechRecognizerAudioCaptureState.Cancelling:
            statusBar.Text = "Cancelling capture operation...";
            break;
        case SpeechRecognizerAudioCaptureState.Complete:
            statusBar.Text = "Audio capture complete.";
            break;
        case SpeechRecognizerAudioCaptureState.Initializing:
            statusBar.Text = "Initializing audio capture...";
            break;
        case SpeechRecognizerAudioCaptureState.Listening:
            statusBar.Text = "Listening...";
            break;
        case SpeechRecognizerAudioCaptureState.Thinking:
            statusBar.Text = "Interpreting audio input...";
            break;
        default:
            statusBar.Text = "Unknown capture state.";
            break;
    }
}

Requirements

Minimum Supported Client

Windows 8

Required Extensions

Bing.Speech

Namespace

Bing.Speech