236 lines
9.3 KiB
XML
236 lines
9.3 KiB
XML
<Window x:Class="Microsoft.Samples.Speech.Recognition.SpeechRecognition.SpeechRecognitionWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="SpeechRecognition" Height="800" Width="700">
|
|
|
|
<!-- Some nested grids to allow a splitter enabled layout-->
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="3*" MinHeight="300"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="2*" MinHeight="150"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid Grid.Row="0" Grid.Column="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="3*" MinWidth="300"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="2*" MinWidth="150"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TabControl Margin="5" Grid.Row="0" Grid.Column="0">
|
|
|
|
<!-- Info Tab -->
|
|
<TabItem Header="Info">
|
|
<Frame Source="Info.xaml"/>
|
|
</TabItem>
|
|
|
|
<!-- SpeechRecognizer Tab -->
|
|
<TabItem Header="SpeechRecognizer">
|
|
<StackPanel>
|
|
<TextBlock TextWrapping="Wrap" Margin="10">
|
|
Click the "Create" button to create a SpeechRecognizer object.
|
|
Don't forget to "Dispose" when you're done.
|
|
</TextBlock>
|
|
<StackPanel Orientation="Horizontal" Margin="10">
|
|
<Button Name="_buttonCreateSR"
|
|
Click="_buttonCreateSR_Click"
|
|
Margin="0,0,10,0">
|
|
Create
|
|
</Button>
|
|
<Button Name="_buttonDisposeSR"
|
|
Click="_buttonDispose_Click">
|
|
Dispose
|
|
</Button>
|
|
<Label Name="_labelEngineStateLabel" Margin="20,0,0,0">
|
|
Engine State:
|
|
</Label>
|
|
<Label Name="_labelEngineState">
|
|
N/A
|
|
</Label>
|
|
</StackPanel>
|
|
<GroupBox Name="_groupBoxRecognitionSR" Header="Recognition"
|
|
Margin="5">
|
|
<StackPanel Margin="5">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Button Name="_buttonEnable"
|
|
Click="_buttonEnable_Click">
|
|
Enable
|
|
</Button>
|
|
<Button Name="_buttonDisable"
|
|
Click="_buttonDisable_Click">
|
|
Disable
|
|
</Button>
|
|
</StackPanel>
|
|
<DockPanel Margin="0,10,0,0">
|
|
<Button Name="_buttonEmulateSR" DockPanel.Dock="Right"
|
|
Click="_buttonEmulate_Click">
|
|
Emulate
|
|
</Button>
|
|
<TextBox Name="_textBoxEmulateSR"
|
|
KeyDown="_textBoxEmulate_KeyDown"/>
|
|
</DockPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<!-- SpeechRecognitionEngine Tab -->
|
|
<TabItem Header="SpeechRecognitionEngine">
|
|
<StackPanel>
|
|
<TextBlock TextWrapping="Wrap" Margin="10">
|
|
First select the engine that you want to use, then click
|
|
"Create" to create a SpeechRecognitionEngine object.
|
|
Don't forget to "Dispose" when you're done.
|
|
</TextBlock>
|
|
<ComboBox Name="_comboBoxInstalledRecognizers" Margin="10"/>
|
|
<StackPanel Orientation="Horizontal" Margin="10,0,10,10">
|
|
<Button Name="_buttonCreateSRE"
|
|
Click="_buttonCreateSRE_Click"
|
|
Margin="0,0,10,0">
|
|
Create
|
|
</Button>
|
|
<Button Name="_buttonDisposeSRE"
|
|
Click="_buttonDispose_Click">
|
|
Dispose
|
|
</Button>
|
|
</StackPanel>
|
|
<GroupBox Name="_groupBoxAudioInput" Header="Audio Input"
|
|
Margin="5">
|
|
<StackPanel Margin="5">
|
|
<RadioButton Name="_radioButtonDefaultAudioDevice"
|
|
Checked="_radioButtonDefaultAudioDevice_Checked">
|
|
Default Audio Device
|
|
</RadioButton>
|
|
<RadioButton Name="_radioButtonWaveFile"
|
|
Checked="_radioButtonWaveFile_Checked">
|
|
Wave File
|
|
</RadioButton>
|
|
<DockPanel>
|
|
<Button Name="_buttonWaveFile" DockPanel.Dock="Right"
|
|
Click="_buttonWaveFile_Click">
|
|
...
|
|
</Button>
|
|
<TextBox Name="_textBoxWaveFile" IsReadOnly="True"/>
|
|
</DockPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
<GroupBox Name="_groupBoxRecognitionSRE" Header="Recognition"
|
|
Margin="5">
|
|
<StackPanel Margin="5">
|
|
<RadioButton Name="_radioButtonAsynchronous"
|
|
Checked="_radioButtonAsynchronous_Checked">
|
|
Asynchronous
|
|
</RadioButton>
|
|
<RadioButton Name="_radioButtonSynchronous"
|
|
Checked="_radioButtonSynchronous_Checked">
|
|
Synchronous
|
|
</RadioButton>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Button Name="_buttonStart"
|
|
Click="_buttonStart_Click">
|
|
Start
|
|
</Button>
|
|
<Button Name="_buttonStop"
|
|
Click="_buttonStop_Click">
|
|
Stop
|
|
</Button>
|
|
<Button Name="_buttonCancel"
|
|
Click="_buttonCancel_Click">
|
|
Cancel
|
|
</Button>
|
|
</StackPanel>
|
|
<DockPanel Margin="0,10,0,0">
|
|
<Button Name="_buttonEmulateSRE" DockPanel.Dock="Right"
|
|
Click="_buttonEmulate_Click">
|
|
Emulate
|
|
</Button>
|
|
<TextBox Name="_textBoxEmulateSRE"
|
|
KeyDown="_textBoxEmulate_KeyDown"/>
|
|
</DockPanel>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
</StackPanel>
|
|
</TabItem>
|
|
</TabControl>
|
|
|
|
<GridSplitter HorizontalAlignment="Center" VerticalAlignment="Stretch"
|
|
Width="5" Grid.Row="0" Grid.Column="1"/>
|
|
|
|
<!-- Grammars Group Box -->
|
|
<GroupBox Header="Grammars" Margin="5"
|
|
Grid.Row="0" Grid.Column="2">
|
|
<DockPanel>
|
|
<StackPanel Orientation="Horizontal" DockPanel.Dock="Bottom">
|
|
<Button Name="_buttonAddSRGS"
|
|
Click="_buttonAddSRGS_Click">
|
|
Add SRGS Grammar
|
|
</Button>
|
|
<Button Name="_buttonRemoveSRGS" IsEnabled="False"
|
|
Click="_buttonRemoveSRGS_Click">
|
|
Remove
|
|
</Button>
|
|
</StackPanel>
|
|
<TreeView Name="_treeViewGrammars"/>
|
|
</DockPanel>
|
|
</GroupBox>
|
|
</Grid>
|
|
|
|
<GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Center"
|
|
Height="5" Grid.Row="1" Grid.Column="0"/>
|
|
|
|
<!-- Controls for displaying the status -->
|
|
<Grid Margin="5" Grid.Row="2" Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="2*" MinHeight="50"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="1*" MinHeight="50"/>
|
|
</Grid.RowDefinitions>
|
|
<GroupBox Header="Status"
|
|
Grid.Row="0" Grid.Column="0">
|
|
<RichTextBox Name="_richTextBoxStatus" IsReadOnly="True"
|
|
VerticalScrollBarVisibility="Auto"
|
|
HorizontalScrollBarVisibility="Auto">
|
|
<FlowDocument Name="_flowDocumentStatus"/>
|
|
</RichTextBox>
|
|
</GroupBox>
|
|
<GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Center"
|
|
Height="5" Grid.Row="1" Grid.Column="0"/>
|
|
<Grid Grid.Row="2" Grid.Column="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*" MinWidth="200"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="1*" MinWidth="100"/>
|
|
</Grid.ColumnDefinitions>
|
|
<GroupBox Header="Recognition Result"
|
|
Grid.Row="0" Grid.Column="0">
|
|
<RichTextBox Name="_richTextBoxResult" IsReadOnly="True"
|
|
VerticalScrollBarVisibility="Auto">
|
|
<FlowDocument Name="_flowDocumentResult"/>
|
|
</RichTextBox>
|
|
</GroupBox>
|
|
<GridSplitter HorizontalAlignment="Center" VerticalAlignment="Stretch"
|
|
Width="5" Grid.Row="0" Grid.Column="1"/>
|
|
<GroupBox Header="Semantics"
|
|
Grid.Row="0" Grid.Column="2">
|
|
<TreeView Name="_treeViewSemantics"/>
|
|
</GroupBox>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<DockPanel Margin="5" LastChildFill="False"
|
|
Grid.Row="3" Grid.Column="0">
|
|
<Button Name="_buttonRecognizedAudio"
|
|
Click="_buttonRecognizedAudio_Click"
|
|
DockPanel.Dock="Left">
|
|
Listen to the Recognized Audio
|
|
</Button>
|
|
<ProgressBar Name="_progressBarAudioLevel" Width="200"
|
|
DockPanel.Dock="Right"/>
|
|
<Label DockPanel.Dock="Right">Audio Input Level:</Label>
|
|
</DockPanel>
|
|
|
|
</Grid>
|
|
|
|
</Window>
|