Ich liege hundert pro eh falsch aber gesagt haben mag ichs mal.
Setze doch mal einen BP vor Zeile
FOnSessionStateEvent(self, NewState);
und stepp dich da mal rein ob das alles seine Richtigkeit hat. Noch kommt mir das Self komisch vor, aber ich kann mich, wie so oft bei Dir, total irren.
Und verträgt Result.IsSystemSoundsSession :-1; einen negativen Wert ?
Zitat:
tmpStr := ExtractFileExt(FAudioSessionInfo.DisplayName); \\ <<<<<<< Hier kracht es
existiert denn FAudioSessionInfo.DisplayName zu diesem Zeitpunkt?
Wegen Result.DisplayName := '';
Lass Dir doch an dieser Stelle ne MessageBox anzeigen was du da so für Daten im Speicher hast.