lock (thisLock)
{
_resultDelegate = (IntPtr handle, ResultEvent e, IntPtr data, int dataCount, IntPtr msg, IntPtr userData) =>
- {
- Log.Info(LogTag, "Recognition Result Event Triggered");
- if (data != null && msg != null)
- {
- RecognitionResultEventArgs args = new RecognitionResultEventArgs(e, data, dataCount, Marshal.PtrToStringAnsi(msg));
- _recognitionResult?.Invoke(this, args);
- }
- else
{
- Log.Info(LogTag, "Recognition Result Event null received");
- }
- };
+ Log.Info(LogTag, "Recognition Result Event Triggered");
+ if (data != null && msg != null)
+ {
+ RecognitionResultEventArgs args = new RecognitionResultEventArgs(e, data, dataCount, Marshal.PtrToStringAnsi(msg));
+ _recognitionResult?.Invoke(this, args);
+ }
+ else
+ {
+ Log.Info(LogTag, "Recognition Result Event null received");
+ }
+ };
SttError error = SttSetRecognitionResultCB(_handle, _resultDelegate, IntPtr.Zero);
if (error != SttError.None)
{
{
_stateChanged += value;
}
-
}
}
/// <summary>
/// Event to be invoked when an error occurs.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
public event EventHandler<ErrorOccurredEventArgs> ErrorOccurred
{
add
lock (thisLock)
{
_errorDelegate = (IntPtr handle, SttError reason, IntPtr userData) =>
- {
- ErrorOccurredEventArgs args = new ErrorOccurredEventArgs(handle, reason);
- _errorOccurred?.Invoke(this, args);
- };
+ {
+ ErrorOccurredEventArgs args = new ErrorOccurredEventArgs(handle, reason);
+ _errorOccurred?.Invoke(this, args);
+ };
SttError error = SttSetErrorCB(_handle, _errorDelegate, IntPtr.Zero);
if (error != SttError.None)
{
_errorOccurred += value;
}
}
-
}
remove
lock (thisLock)
{
_languageDelegate = (IntPtr handle, IntPtr previousLanguage, IntPtr currentLanguage, IntPtr userData) =>
- {
- string previousLanguageString = Marshal.PtrToStringAnsi(previousLanguage);
- string currentLanguageString = Marshal.PtrToStringAnsi(currentLanguage);
- DefaultLanguageChangedEventArgs args = new DefaultLanguageChangedEventArgs(previousLanguageString, currentLanguageString);
- _defaultLanguageChanged?.Invoke(this, args);
- };
+ {
+ string previousLanguageString = Marshal.PtrToStringAnsi(previousLanguage);
+ string currentLanguageString = Marshal.PtrToStringAnsi(currentLanguage);
+ DefaultLanguageChangedEventArgs args = new DefaultLanguageChangedEventArgs(previousLanguageString, currentLanguageString);
+ _defaultLanguageChanged?.Invoke(this, args);
+ };
SttError error = SttSetDefaultLanguageChangedCB(_handle, _languageDelegate, IntPtr.Zero);
if (error != SttError.None)
{
_defaultLanguageChanged += value;
}
}
-
}
remove
lock (thisLock)
{
_engineDelegate = (IntPtr handle, IntPtr engineId, IntPtr language, bool supportSilence, bool needCredential, IntPtr userData) =>
- {
- string engineIdString = Marshal.PtrToStringAnsi(engineId);
- string languageString = Marshal.PtrToStringAnsi(language);
- EngineChangedEventArgs args = new EngineChangedEventArgs(engineIdString, languageString, supportSilence, needCredential);
- _engineChanged?.Invoke(this, args);
- };
+ {
+ string engineIdString = Marshal.PtrToStringAnsi(engineId);
+ string languageString = Marshal.PtrToStringAnsi(language);
+ EngineChangedEventArgs args = new EngineChangedEventArgs(engineIdString, languageString, supportSilence, needCredential);
+ _engineChanged?.Invoke(this, args);
+ };
SttError error = SttSetEngineChangedCB(_handle, _engineDelegate, IntPtr.Zero);
if (error != SttError.None)
{
Log.Error(LogTag, "GetRecordingVolume Failed with error " + error);
return 0.0f;
}
-
}
return volume;
public IEnumerable<ResultTime> GetDetailedResult()
{
List<ResultTime> list = new List<ResultTime>();
- _resultTimeDelegate = (IntPtr handle, int index, TimeEvent e, IntPtr text, IntPtr startTime, IntPtr endTime, IntPtr userData) =>
- {
- _result = new ResultTime(index, e, Marshal.PtrToStringAnsi(text), (long)startTime, (long)endTime);
- list.Add(_result);
- return true;
- };
- SttError error = SttForeachDetailedResult(_handle, _resultTimeDelegate, IntPtr.Zero);
- if (error != SttError.None)
+ lock (thisLock)
{
- Log.Error(LogTag, "GetDetailedResult Failed with error " + error);
- throw ExceptionFactory.CreateException(error);
+ _resultTimeDelegate = (IntPtr handle, int index, TimeEvent e, IntPtr text, IntPtr startTime, IntPtr endTime, IntPtr userData) =>
+ {
+ _result = new ResultTime(index, e, Marshal.PtrToStringAnsi(text), (long)startTime, (long)endTime);
+ list.Add(_result);
+ return true;
+ };
+ SttError error = SttForeachDetailedResult(_handle, _resultTimeDelegate, IntPtr.Zero);
+ if (error != SttError.None)
+ {
+ Log.Error(LogTag, "GetDetailedResult Failed with error " + error);
+ throw ExceptionFactory.CreateException(error);
+ }
}
return list;
}
lock (thisLock)
{
SupportedEngineCallback supportedEngineDelegate = (IntPtr handle, IntPtr engineId, IntPtr engineName, IntPtr userData) =>
- {
- string id = Marshal.PtrToStringAnsi(engineId);
- string name = Marshal.PtrToStringAnsi(engineName);
- SupportedEngine engine = new SupportedEngine(id, name);
- engineList.Add(engine);
- return true;
- };
+ {
+ string id = Marshal.PtrToStringAnsi(engineId);
+ string name = Marshal.PtrToStringAnsi(engineName);
+ SupportedEngine engine = new SupportedEngine(id, name);
+ engineList.Add(engine);
+ return true;
+ };
SttError error = SttForeEachSupportedEngines(_handle, supportedEngineDelegate, IntPtr.Zero);
if (error != SttError.None)
{
/// The language is specified as an ISO 3166 alpha-2 two letter country-code followed by ISO 639-1 for the two-letter language code.
/// For example, "ko_KR" for Korean, "en_US" for American English.
/// </summary>
- /// <since_tizen> 3 </since_tizen>
+ /// <since_tizen> 4 </since_tizen>
/// <privilege>
/// http://tizen.org/privilege/recorder
/// </privilege>
lock (thisLock)
{
SupportedLanguageCallback supportedLanguageDelegate = (IntPtr handle, IntPtr language, IntPtr userData) =>
- {
- string lang = Marshal.PtrToStringAnsi(language);
- languageList.Add(lang);
- return true;
- };
+ {
+ string lang = Marshal.PtrToStringAnsi(language);
+ languageList.Add(lang);
+ return true;
+ };
SttError error = SttForeachSupportedLanguages(_handle, supportedLanguageDelegate, IntPtr.Zero);
if (error != SttError.None)
recType = "stt.recognition.type.MAP";
break;
}
-
}
SttError error = SttIsRecognitionTypeSupported(_handle, recType, out supported);
Log.Error(LogTag, "IsRecognitionTypeSupported Failed with error " + error);
throw ExceptionFactory.CreateException(error);
}
-
}
return supported;
recType = "stt.recognition.type.MAP";
break;
}
-
}
SttError error = SttStart(_handle, language, recType);
}
/// <summary>
- /// A method to release resources.
+ /// Method to release resources.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
}
+ /// <summary>
+ /// Method to release resources.
+ /// </summary>
+ /// <since_tizen> 3 </since_tizen>
+ /// <param name="disposing">
+ /// The boolean value for destoying stt handle.
+ /// </param>
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
{
if (disposing)
{
- SttError error = SttDestroy(_handle);
- if (error != SttError.None)
+ lock (thisLock)
{
- Log.Error(LogTag, "Destroy Failed with error " + error);
+ SttError error = SttDestroy(_handle);
+ if (error != SttError.None)
+ {
+ Log.Error(LogTag, "Destroy Failed with error " + error);
+ }
}
}