![]() |
Aktuelles Vorgehen für Vibration auf IOS
Moin,
ich habe in meiner App eine Stelle, an der ich eine Vibration auf dem Smartphone auslösen will. Für Android war das kein Problem, für IOS hingegen schon. Alles was ich zu dem Thema finde läuft auf das hier hinaus: ![]() Das scheint jedoch relativ alt zu sein und führt bei mir zumindest dazu, dass sich der Compiler an der Externaldefinition von dieser Stelle hier stört:
Code:
Daher meine Frage: Gibt es eine zeitgemäße Möglichkeit, ein Iphone vibrieren zu lassen oder ist das hier angegebene Beispiel immer noch der aktuelle Standard?
Procedure AudioServicesPlaySystemSound( inSystemSoundID: integer ); Cdecl; External libAudioToolbox Name _PU + 'AudioServicesPlaySystemSound';
|
AW: Aktuelles Vorgehen für Vibration auf IOS
Mache ich auch noch so, ich suche allerdings auch eine Möglichkeit die Zeit einzugeben.
Es gibt womöglich andere API von iOS, habe aber noch nicht danach gesucht. Also es gäbe da noch sowas (ungetestet): ![]() Edit: Auch das ist noch ![]() |
AW: Aktuelles Vorgehen für Vibration auf IOS
Alles klar.
Dann wäre meine verbleibende Frage, wie genau ich es hinbekomme, dass das bei mir läuft. Ich habe bisher nicht viel mit External-Deklarationen zu tun gehabt, weswegen es gut möglich ist, dass ich einen bescheuerten Fehler drin habe, aber da ich im Prinzip den Code einfach rüberkopiert habe, wundert es mich trotzdem etwas. Ich habe die AudioToolbox sowieso schon als Framework in meiner SDK (11.2) gehabt. Die entsprechenden Uses habe ich ergänzt sowie diesen Code hier übernommen:
Code:
Dabei stört sich mein Compiler an der External-Deklarations-Stelle und beschwert sich
Const
libAudioToolbox = '/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox'; kSystemSoundID_vibrate = $FFF; Procedure AudioServicesPlaySystemSound( inSystemSoundID: integer ); Cdecl; External libAudioToolbox Name _PU + 'AudioServicesPlaySystemSound'; Zitat:
|
AW: Aktuelles Vorgehen für Vibration auf IOS
Delphi-Quellcode:
Uses
Macapi.CoreFoundation ; Const libAudioToolbox = '/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox'; type SystemSoundID = UInt32; const CSnd_kSystemSoundID_vibrate = $FFF; CSnd_peek = SystemSoundID(1519); CSnd_pop = SystemSoundID(1520); CSnd_cancelled = SystemSoundID(1521); CSnd_tryAgain = SystemSoundID(1102); CSnd_failed = SystemSoundID(1107); procedure AudioServicesPlaySystemSound( inSystemSoundID: integer ); Cdecl; External libAudioToolbox Name _PU + 'AudioServicesPlaySystemSound'; procedure DoVibrate(const ATimeMS: Integer); begin AudioServicesPlaySystemSound( CSnd_peek ); end; |
AW: Aktuelles Vorgehen für Vibration auf IOS
Argh, ich hab die Deklaration an die falsche Stelle gepackt.
Jetzt ist es offensichtlich warum es nicht funktioniert... Vielen Dank, jetzt hat es geklappt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz