It is a setting under Speech, Inking and Typing.
First, go to Settings and click "Time & Language".
Next, select "Speech" from the menu on the left.
After that, press "Speech, inking & typing privacy settings".
Just press the button called "Get to know me".
Then, click the popup to turn the setting on.
After that, any software that uses the Speech Recognition API will work.
A helpful way to tell users to turn on would be...
catch (System.Runtime.InteropServices.COMException e) when (e.HResult == unchecked((int)0x80045509))
//privacyPolicyHResult
//The speech privacy policy was not accepted prior to attempting a speech recognition.
{
ContentDialog Dialog = new ContentDialog()
{
Title = "The speech privacy policy was not accepted",
Content = "You need to turn on a button called 'Get to know me'...",
PrimaryButtonText = "Shut up",
SecondaryButtonText = "Shut up and show me the setting"
};
if (await Dialog.ShowAsync() == ContentDialogResult.Secondary)
{
const string uriToLaunch = "ms-settings:privacy-speechtyping";
//"https://mcmap.net/q/1275732/-exception-the-speech-privacy-policy-was-not-accepted-prior-to-attempting-a-speech-recognition" +
//"was-not-accepted-prior-to-attempting-a-spee/43083877#43083877";
var uri = new Uri(uriToLaunch);
var success = await Windows.System.Launcher.LaunchUriAsync(uri);
if (!success) await new ContentDialog
{
Title = "Oops! Something went wrong...",
Content = "The settings app could not be opened.",
PrimaryButtonText = "Shut your mouth up!"
}.ShowAsync();
}
}
More ways to launch the Settings app