/// <summary> /// Create new Yandex SpeechKit Cloud API client. /// </summary> /// <param name="speechKitClientOptions">API client options..</param> /// <exception cref="ArgumentException"></exception> /// <exception cref="ArgumentNullException"></exception> public SpeechKitClient(SpeechKitClientOptions speechKitClientOptions) { if (speechKitClientOptions == null) { throw new ArgumentNullException(nameof(speechKitClientOptions)); } _apiKey = speechKitClientOptions.ApiKey; _userId = speechKitClientOptions.UserId; }
/// <summary> /// Start new speech recognition session in data streaming mode. /// </summary> /// <param name="apiOptions">API access options.</param> /// <param name="sessionOptions">Recognition settings.</param> /// <param name="cancellationToken">The cancellation token to cancel operation.</param> /// <returns></returns> public static Task <StartSessionResult> CreateNewSpeechRecognitionSessionAsync( SpeechKitClientOptions apiOptions, SpeechRecognitionSessionOptions sessionOptions, CancellationToken cancellationToken = default(CancellationToken)) { if (apiOptions == null) { throw new ArgumentNullException(nameof(apiOptions)); } if (sessionOptions == null) { throw new ArgumentNullException(nameof(sessionOptions)); } var session = new SpeechRecognitionSession( apiOptions.ApplicationName, apiOptions.ApiKey, apiOptions.UserId, apiOptions.Device, sessionOptions, apiOptions.Timeout); return(session.StartAsync(cancellationToken)); }