標籤:inter core lsp roo err directory content info tools
delphi 手機震動 IOS Android
delphi 手機震動 IOS Android 震動
https://community.embarcadero.com/blogs/entry/how-to-vibrate-ios-and-android-phones-using-firemonkey-and-xe8
http://blogs.embarcadero.com/davidi/2015/07/06/43894/
IOS方法
#import <AudioToolbox/AudioToolbox.h>
調用方法
SystemSoundID soundID;
kSystemSoundID_Vibrate是常量$FFF
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
delphi 方法
| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
unit Umain; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls{$IFDEF ANDROID} ,Androidapi.JNI.Os, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNIBridge{$ENDIF}{$IFDEF IOS} ,IOSapi.MediaPlayer, IOSapi.CoreGraphics, FMX.Platform, FMX.Platform.IOS, IOSapi.UIKit, Macapi.ObjCRuntime, Macapi.ObjectiveC, iOSapi.Cocoatypes, Macapi.CoreFoundation, iOSapi.Foundation, iOSapi.CoreImage, iOSapi.QuartzCore, iOSapi.CoreData{$ENDIF} ; {$IFDEF IOS}Const libAudioToolbox = ‘/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox‘; kSystemSoundID_vibrate = $FFF; Procedure AudioServicesPlaySystemSound( inSystemSoundID: integer ); Cdecl; External libAudioToolbox Name _PU + ‘AudioServicesPlaySystemSound‘;{$ENDIF} type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject);{$IFDEF ANDROID}Var Vibrator:JVibrator;{$ENDIF}begin{$IFDEF ANDROID} Vibrator:=TJVibrator.Wrap((SharedActivityContext.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE) as ILocalObject).GetObjectID); // Vibrate for 500 milliseconds Vibrator.vibrate(500);{$ENDIF}{$IFDEF IOS} AudioServicesPlaySystemSound( kSystemSoundID_vibrate );{$ENDIF}end; end. |
添加庫方法
ios must Add Path
RAD IDE>Tools>Options>SDK Manager>IOS 系統SDK
點擊 右側按鈕>Add a new path item.
Path on remote machine:$(SDKROOT)/System/Library/Frameworks
File mask:AudioToolbox
Path type:Other Path
Include subdirectories:
點 OK>Update Local File Cache
windows系統電腦能看到更新到的AudioToolbox功能檔案。
D:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.1.sdk\System\Library\Frameworks\AudioToolbox.framework\Headers
參考
http://blog.csdn.net/tht2009/article/details/50183721
報錯
[DCC Error] E2597 ld: warning: directory not found for option
‘-FE:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.3.sdk\System\Library\PrivateFrameworks‘
ld: file not found: /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
解決方案:
1、收到建立目錄PrivateFrameworks
2、刪除windows目錄E:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.3.sdk。
然後關閉IDE,刪除IDE裡3個SDK。然後重新下載,先下載ios32位,添加AudioToolbox庫,更新緩衝,再依次更新64位。
delphi 手機震動 IOS Android