本文实例讲述了AndroID编程调用红外线遥控功能。分享给大家供大家参考,具体如下:
AndroID API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对。
Github上有一个与之相关的开源项目https://github.com/timnew/AndroidInfrared,还没来得及学习。希望有相关资料或学习项目的大神们多指导 。
/** * AndroID红外线遥控官方Demo * * @description: * @author ldm * @date 2016-4-28 下午5:06:28 */public class ConsumerIrActivity extends Activity { private static final String TAG = "ConsumerIrTest"; private TextVIEw mFreqsText; // AndroID4.4之后 红外遥控ConsumerIrManager,可以被小米4调用 private ConsumerIrManager mCIR; @Suppresslint("InlinedAPI") @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.consumer_ir); // 获取系统的红外遥控服务 mCIR = (ConsumerIrManager) getSystemService(Context.CONSUMER_IR_SERVICE); initVIEwsAndEvents(); } private voID initVIEwsAndEvents() { findVIEwByID(R.ID.send_button).setonClickListener(mSendClickListener); findVIEwByID(R.ID.get_freqs_button) .setonClickListener(mOnClickListener); mFreqsText = (TextVIEw) findVIEwByID(R.ID.freqs_text); } VIEw.OnClickListener mSendClickListener = new VIEw.OnClickListener() { @TargetAPI(Build.VERSION_CODES.KITKAT) public voID onClick(VIEw v) { if (!mCIR.hasIrEmitter()) { Log.e(TAG,"未找到红外发身器!"); return; } // 一种交替的载波序列模式,通过毫秒测量 int[] pattern = { 1901,4453,625,1614,1588,442,468,494,572,651,598,520,48958 }; // 在38.4KHz条件下进行模式转换 mCIR.transmit(38400,pattern); } }; @Suppresslint("NewAPI") VIEw.OnClickListener mOnClickListener = new VIEw.OnClickListener() { public voID onClick(VIEw v) { StringBuilder b = new StringBuilder(); if (!mCIR.hasIrEmitter()) { mFreqsText.setText("未找到红外发身器!"); return; } // 获得可用的载波频率范围 ConsumerIrManager.CarrIErFrequencyRange[] freqs = mCIR .getCarrIErFrequencIEs(); b.append("IR CarrIEr FrequencIEs:\n");// 红外载波频率 // 边里获取频率段 for (ConsumerIrManager.CarrIErFrequencyRange range : freqs) { b.append(String.format(" %d - %d\n",range.getMinFrequency(),range.getMaxFrequency())); } mFreqsText.setText(b.toString());// 显示结果 } };}
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical" ><button androID:ID="@+ID/send_button" androID:text="@string/ir_send" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content"/> <button androID:ID="@+ID/get_freqs_button" androID:text="@string/ir_get_freqs" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content"/> <ScrollVIEw androID:ID="@+ID/freqs_text_scroll" androID:layout_wIDth="match_parent" androID:layout_height="0dp" androID:layout_weight="1" > <TextVIEw androID:ID="@+ID/freqs_text" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:paddingleft="3dp" androID:paddingRight="3dp" /> </ScrollVIEw></linearLayout>
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android视图View技巧总结》、《Android资源 *** 作技巧汇总》、《Android *** 作json格式数据技巧总结》、《Android开发入门与进阶教程》、《Android编程之activity *** 作技巧总结》及《Android控件用法总结》
希望本文所述对大家AndroID程序设计有所帮助。
总结以上是内存溢出为你收集整理的Android编程调用红外线遥控功能示例全部内容,希望文章能够帮你解决Android编程调用红外线遥控功能示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)