delphi 手机振动 IOS Android
2015-10-14 16:35
756 查看
delphi手机振动IOSAndroid振动
https://community.embarcadero.com/blogs/entry/how-to-vibrate-ios-and-android-phones-using-firemonkey-and-xe8http://blogs.embarcadero.com/davidi/2015/07/06/43894/
IOS方法
delphi方法
unitUmain;
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
{$IFDEFANDROID}
,Androidapi.JNI.Os,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.Helpers,
Androidapi.JNIBridge
{$ENDIF}
{$IFDEFIOS}
,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}
;
{$IFDEFIOS}
Const
libAudioToolbox='/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox';
kSystemSoundID_vibrate=$FFF;
ProcedureAudioServicesPlaySystemSound(inSystemSoundID:integer);Cdecl;ExternallibAudioToolboxName_PU+'AudioServicesPlaySystemSound';
{$ENDIF}
type
TForm1=class(TForm)
Button1:TButton;
procedureButton1Click(Sender:TObject);
private
{Déclarationsprivées}
public
{Déclarationspubliques}
end;
var
Form1:TForm1;
implementation
{$R*.fmx}
procedureTForm1.Button1Click(Sender:TObject);
{$IFDEFANDROID}
Var
Vibrator:JVibrator;
{$ENDIF}
begin
{$IFDEFANDROID}
Vibrator:=TJVibrator.Wrap((SharedActivityContext.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE)asILocalObject).GetObjectID);
//Vibratefor500milliseconds
Vibrator.vibrate(500);
{$ENDIF}
{$IFDEFIOS}
AudioServicesPlaySystemSound(kSystemSoundID_vibrate);
{$ENDIF}
end;
end.
iosmustAddPath
Pathonremotemachine:$(SDKROOT)/System/Library/Frameworks
Filemask:AudioToolbox
Pathtype:
Includesubdirectories:
D:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.1.sdk\System\Library\Frameworks\AudioToolbox.framework\Headers
IOS方法
#import<AudioToolbox/AudioToolbox.h> 调用方法
SystemSoundIDsoundID; kSystemSoundID_Vibrate是常量[code]$FFFAudioServicesPlaySystemSound(kSystemSoundID_Vibrate);[/code]
delphi方法
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
{$IFDEFANDROID}
,Androidapi.JNI.Os,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.Helpers,
Androidapi.JNIBridge
{$ENDIF}
{$IFDEFIOS}
,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}
;
{$IFDEFIOS}
Const
libAudioToolbox='/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox';
kSystemSoundID_vibrate=$FFF;
ProcedureAudioServicesPlaySystemSound(inSystemSoundID:integer);Cdecl;ExternallibAudioToolboxName_PU+'AudioServicesPlaySystemSound';
{$ENDIF}
type
TForm1=class(TForm)
Button1:TButton;
procedureButton1Click(Sender:TObject);
private
{Déclarationsprivées}
public
{Déclarationspubliques}
end;
var
Form1:TForm1;
implementation
{$R*.fmx}
procedureTForm1.Button1Click(Sender:TObject);
{$IFDEFANDROID}
Var
Vibrator:JVibrator;
{$ENDIF}
begin
{$IFDEFANDROID}
Vibrator:=TJVibrator.Wrap((SharedActivityContext.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE)asILocalObject).GetObjectID);
//Vibratefor500milliseconds
Vibrator.vibrate(500);
{$ENDIF}
{$IFDEFIOS}
AudioServicesPlaySystemSound(kSystemSoundID_vibrate);
{$ENDIF}
end;
end.
iosmustAddPath
Pathonremotemachine:$(SDKROOT)/System/Library/Frameworks
Filemask:AudioToolbox
Pathtype:
Includesubdirectories:
D:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.1.sdk\System\Library\Frameworks\AudioToolbox.framework\Headers
相关文章推荐
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数016,xld,xld轮廓
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数015,vector矢量
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数014,tuple,元组
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数013,shape模型
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数012,polygon,多边形
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数011,ocr,字符识别
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数010,obj,对象管理
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数009,Measure,测量函数
- 阅读INI档 - Delphi一片
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数008,matrix,矩阵函数
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数007, match,图像匹配
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数006, image,影像处理(像素图)
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数005·graphics-obj,基本绘图单元,包括线段、矩形、椭圆、圆形
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数004·edge,边缘处理
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数003·contour,轮廓处理
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数002·AI人工智能
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数001·3D函数
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数·简明中文手册 总览
- Delphi keydown与keyup、keypress的区别(KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键)
- DELPHI7在WIN8和WIN10下安装和运行