1 unitUnit1;2

3 interface

4

5 uses

6 System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,7 FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,8 FMX.Controls.Presentation, FMX.StdCtrls,9 Androidapi.Helpers,//需要引入

10 AndroidAPI.jni.OS,//需要引入

11 Androidapi.JNIBridge, //12 Androidapi.JNI.GraphicsContentViewText,13 Androidapi.JNI.JavaTypes,14 FMX.Helpers.Android; //15

16 type

17 TForm1 = class(TForm)18 Button1: TButton;19 procedureButton1Click(Sender: TObject);20 private

21 {Private declarations}

22 public

23 {Public declarations}

24 end;25 type

26 JConsumerIrManager_CarrierFrequencyRange = interface;27

28 JConsumerIrManager_CarrierFrequencyRangeClass = interface(JObjectClass)29 [‘{191A7F08-B93B-40D4-9B6E-3D908B37578E}‘]30 {class} function init(min, max: Integer): JConsumerIrManager_CarrierFrequencyRange; cdecl;31 end;32

33 [JavaSignature(‘android/hardware/ConsumerIrManager$CarrierFrequencyRange‘)]34 JConsumerIrManager_CarrierFrequencyRange = interface(JObject)35 [‘{5AC0C73D-9DA2-49B0-A072-55EA03FE3B78}‘]36 function getMaxFrequency: Integer; cdecl;37 function getMinFrequency: Integer; cdecl;38 end;39 TJConsumerIrManager_CarrierFrequencyRange = class(TJavaGenericImport) end;40

41 JConsumerIrManagerClass = interface(JObjectClass)42 [‘{C8AB7EEA-046F-429C-8585-EF69EBB53718}‘]43 end;44

45 [JavaSignature(‘android/hardware/ConsumerIrManager‘)]46 JConsumerIrManager = interface(JObject)47 [‘{FF469731-5B57-46AB-9C83-4FB51CA6F2BA}‘]48 function getCarrierFrequencies: TJavaArray; cdecl;49 function hasIrEmitter: Boolean; cdecl;50 procedure transmit(carrierFrequency: Integer; pattern: TJavaArray); cdecl;51 end;52 TJConsumerIrManager = class(TJavaGenericImport) end;53

54

55 var

56 Form1: TForm1;57

58 implementation

59

60 {$R *.fmx}

61 function MakeJavaIntArray(arr: array of Integer): TJavaArray;62 var

63 I: Integer;64 begin

65 Result := TJavaArray.Create(Length(arr));66 for I := Low(arr) to High(arr) do

67 Result.Items[I] :=arr[I];68 end;69

70

71 procedureTForm1.Button1Click(Sender: TObject);72 var

73 mCIR: JConsumerIrManager;74 mRanges: TJavaArray;75 mRange: JConsumerIrManager_CarrierFrequencyRange;76 I, DesiredFrequency: Integer;77 HasDesiredFrequency: Boolean;78 begin

79 mCIR :=TJConsumerIrManager.Wrap((SharedActivityContext.getSystemService(TJContext.JavaClass.CONSUMER_IR_SERVICE)80 asILocalObject).GetObjectID);81 if mCIR.hasIrEmitter then

82 begin

83 //use mCIR as needed...

84

85 DesiredFrequency := 3800;86 HasDesiredFrequency :=False;87

88 mRanges :=mCIR.getCarrierFrequencies;89 for I := 0 to mRanges.Length-1 do

90 begin

91 mRange :=mRanges.Items[I];92 if (DesiredFrequency >= mRange.getMinFrequency) and (DesiredFrequency <= mRange.getMaxFrequency) then

93 begin

94 HasDesiredFrequency :=True;95 Break;96 end;97 end;98

99 if HasDesiredFrequency then

100 mCIR.transmit(DesiredFrequency, MakeJavaIntArray([8950,4350,650,500,600,500,550,600,550,550,600,500,550,550,600,550,600,500,550,1650,600,1600,650,1600,550,1700,600,1600,600,1600,600,1650,600,1600,650,1600,550,1650,650,1600,600,550,550,550,550,550,550,550,600,500,600,550,550,550,550,550,550,1650,650,1600,600,1600,600,1650,600,1600,600])); //pattern values here

101 end;102 end;103

104 end.

android红外线开发实例,Android实例-红外线操作(XE10.2+小米5)相关推荐

  1. Android游戏开发的入门实例

         在Android系统上开发游戏是Android开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬.那怎样开发Android游戏呢?下面介绍一个简单的入门实例.        一.创建 ...

  2. 【Android FFMPEG 开发】Android 中使用 FFMPEG 对 MP3 文件进行混音操作

    文章目录 一.前置操作 ( 移植 FFMPEG ) 二.FFMPEG 混音命令 三.Android FFMPEG 混音源代码完整示例 四.博客源码 一.前置操作 ( 移植 FFMPEG ) 参考 [A ...

  3. 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )

    文章目录 I . FFMPEG 交叉编译后的函数库及头文件 II . FFMPEG 静态库打包动态库 ( 仅做参考 ) III . 创建 Android Studio 工程 IV . FFMPEG 头 ...

  4. android基础开发 书,Android 开发基础

    (一)认识Android Studio Android Studio 是谷歌推出的一个Android集成开发工具,Android Studio 提供了集成的 Android 开发工具用于开发和调试. ...

  5. 【Android FFMPEG 开发】Android 中使用 FFMPEG 将 PCM 音频采样转为 MP3 格式

    文章目录 一.前置操作 ( 移植 FFMPEG ) 二.FFMPEG 将 PCM 采样转为 MP3 格式的命令 三.Android FFMPEG 混音源代码完整示例 四.博客源码 一.前置操作 ( 移 ...

  6. 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )

    文章目录 I . CMake 引入动态库与静态库区别 II . Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 ...

  7. 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )

    文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...

  8. 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )

    文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  9. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )

    文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  10. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

最新文章

  1. 金蝶应收应付模块流程_金蝶KIS专业版应收应付的系统亮点功能
  2. 打破国外垄断,我国拿下一项“制芯”关键技术
  3. Android车载开发总结
  4. 如何评价rcnn、fast-rcnn和faster-rcnn这一系列方法?
  5. js基于lodash实现前端防抖与节流
  6. tf.reduce_max()函数的用法详解
  7. 【2019浙江省赛 - J】Welcome Party(并查集,bfs,优先队列,建图)
  8. iQOO Neo 855竞速版来了:今年最后一款骁龙855 Plus手机
  9. Bitmap对图像的处理
  10. 蚂蚁金服做区块链:我们绝不发空气币,要做就服务民生!
  11. 0x80070079信号灯超时_onedrive下载文件时,出现”0x80070079信号灯超时时间已到”...
  12. SAN(存储区域网络),WWN, WWPN,WWNN区别
  13. proposal_target_layer.py (FPN)
  14. 风险偏好情绪提振,欧元低位延续反弹
  15. 为什么世界 500 强企业在逐步淘汰传统绩效考核
  16. 2022年csdn最全的Python练手经典趣味编程100例(部分
  17. 用c语言编写编码菲诺,大C论表:MKS柏涛菲诺150周年纪念款带来哪些升级
  18. 事务的传播行为propagation(讲得比较好)
  19. 应广单片机PFS123按键中断控制数码管显示例程
  20. Freeswitch 安装

热门文章

  1. 程序设计基础之C语言计算职工工资
  2. 京东价格监控软件开发技术探讨七:如何获取京东商品评价信息
  3. wc,鹅厂码农最常用的三大编程语言,Java竟然没上榜!
  4. 常威来了(变量和常量)简单易懂
  5. mysql chunk 函数_Laravel中的chunk组块结果集处理与注意问题
  6. Linux 中文件压缩方法与tar打包详解
  7. UnsatisfiedDependencyException报错的原因
  8. excel表格打印每页都有表头_Excel怎么能让每一页都打印上相同的顶端和底端标题?...
  9. angr源码分析——数据依赖图 DDG
  10. 均质机工作原理动画_高压均质机结构图.doc