- string previousLanguageString = Marshal.PtrToStringAnsi(previousLanguage);
- string currentLanguageString = Marshal.PtrToStringAnsi(currentLanguage);
- DefaultVoiceChangedEventArgs args = new DefaultVoiceChangedEventArgs(previousLanguageString, previousVoiceType, currentLanguageString, currentVoiceType);
- _defaultVoiceChanged?.Invoke(this, args);
- };
- TtsError error = TtsSetDefaultVoiceChangedCB(_handle, _voiceChangedDelegate, IntPtr.Zero);
- if (error != TtsError.None)
- {
- Log.Error(LogTag, "Add DefaultVoiceChanged Failed with error " + error);
- }
-
- else
- {
- _defaultVoiceChanged += value;
+ _voiceChangedDelegate = (IntPtr handle, IntPtr previousLanguage, int previousVoiceType, IntPtr currentLanguage, int currentVoiceType, IntPtr userData) =>
+ {
+ string previousLanguageString = Marshal.PtrToStringAnsi(previousLanguage);
+ string currentLanguageString = Marshal.PtrToStringAnsi(currentLanguage);
+ DefaultVoiceChangedEventArgs args = new DefaultVoiceChangedEventArgs(previousLanguageString, previousVoiceType, currentLanguageString, currentVoiceType);
+ _defaultVoiceChanged?.Invoke(this, args);
+ };
+
+ TtsError error = TtsSetDefaultVoiceChangedCB(_handle, _voiceChangedDelegate, IntPtr.Zero);
+ if (error != TtsError.None)
+ {
+ Log.Error(LogTag, "Add DefaultVoiceChanged Failed with error " + error);
+ }