如何更改IOS说识别语言?

How to change IOS speak recognition language?

我正在使用以下代码 (xamarin) 在我的 ios 应用程序中实现语音识别:

// Setup audio session
        var node = AudioEngine.InputNode;
        var recordingFormat = node.GetBusOutputFormat (0);
        node.InstallTapOnBus (0, 1024, recordingFormat, (AVAudioPcmBuffer buffer, AVAudioTime when) => {
            // Append buffer to recognition request
            LiveSpeechRequest.Append (buffer);
        });

        // Start recording
        AudioEngine.Prepare ();
        NSError error;
        AudioEngine.StartAndReturnError (out error);

        // Did recording start?
        if (error != null) {
            // Handle error and return
            return;
        }

        // Start recognition
        RecognitionTask = SpeechRecognizer.GetRecognitionTask (LiveSpeechRequest, (SFSpeechRecognitionResult result, NSError err) => {
            // Was there an error?
            if (err != null) {
                // Handle error
            } else {
                // Is this the final translation?
                //if (result.Final) {
                    Console.WriteLine ("You said \"{0}\".", result.BestTranscription.FormattedString);
                //}
            }
        });

它工作得很好,除了不识别法语,我把我的 phone 放在法语中,但它不起作用。是否有设置某处的参数?

经过一番查找,发现"locale"可以在初始化SpeechRecognizer对象时定义,如:

private SFSpeechRecognizer SpeechRecognizer = new SFSpeechRecognizer (new NSLocale ("fr_FR"));

有效!