赤外線リモコンAPIは赤外線リモコン送信機能を提供します。
キャリア、データ変調方式、フレーム構成等を指定し、様々なリモコン信号を送信する事ができます。
上記のように、リーダー・データ・トレーラーから構成される1データ単位をフレームと呼びます。
複数フレームをまとめたものをブロックと呼びます。
赤外線リモコン信号を送信する際のキャリア(搬送波)周波数、および"0"あるいは"1"の波形を表すデータ変調方式(論理パルス情報)を指定したうえで、
ブロックデータを送信します。
データ変調方式(論理パルス情報)とは、下記のように"0"あるいは"1"を表す波形の情報です。
キャリア(搬送波)データ変調方式(論理パルス情報)を指定します。
IrRemoteController#send()でブロック(複数フレーム)データを送信します。
1フレームデータを構築します。
SDKへAddOnの追加と、Manifestファイルへライブラリの参照を記述する必要があります。
パッケージ名 | クラス名 | 備考 |
---|---|---|
jp.co.sharp.android.io.irrc | IrRemoteController | リモコンデータを送信するクラス |
IrRemoteControllerFrame | フレームデータを定義するクラス |
まず、Manifestファイルへ、アプリケーション が参照するライブラリの参照設定を行います。
Manifestファイルの<application>要素の子要素に<user-library>を追加します。
<user-library>のandroid:name属性にjp.co.sharp.android.io.irccを設定します。
これらの宣言がなければ、赤外線リモコンクラスを使用することができないため、注意してください。
以下のリモコンデータを送信する場合のサンプルコードを示します。
○リモコンデータ
キャリア | 論理パルス0 | 論理パルス1 | ||
---|---|---|---|---|
データ 変調方式 |
PPM変調 High-Low |
データ 変調方式 |
PPM変調 High-Low |
|
High時間: 12.0(μsec) |
High時間: 100(μsec) |
High時間: 200(μsec) |
||
Low時間: 15.0(μsec) |
Low時間: 500(μsec) |
Low時間: 800(μsec) |
○フレーム1のデータ
リーダー | データ | トレーラー | フレームの間隔時間 | 繰り返し回数 |
---|---|---|---|---|
High時間: 50(μsec) |
0001 0011 0111 111 |
High時間: 80(μsec) |
30000 (μsec) |
1回 |
Low時間: 300(μsec) |
15ビット |
○フレーム2のデータ
リーダー | データ | トレーラー | フレームの間隔時間 | 繰り返し回数 |
---|---|---|---|---|
High時間: 50(μsec) |
1110 1100 1000 000 |
High時間: 80(μsec) |
30000 (μsec) |
1回 |
Low時間: 300(μsec) |
15ビット |
○フレーム1と2をまとめたブロック繰り返し回数:2回
上記のリモコンデータを送信する場合は、以下のようなコードとなります。
※例外処理などは別途必要となります。
ダミーデータのため正常な動作はご確認いただけませんが、実際に機器が動作する恐れもありますので利用にあたってはご注意ください。
以下の場合には赤外線リモコン送信はできません。
・音声電話中(発信、着信、通話中)
・低電圧中
・電波OFFモードがONである場合
また、一回の送信は最長10秒間となります。
赤外線リモコンAPIをサポートしていない端末では、正常に動作させることが出来ません。
エミュレータでは正常に動作させることが出来ません。
実際の動作は赤外線リモコンAPIに対応した実機にてご確認ください。