Power Apps のカメラコントロールを利用する際に、フロント(正面)なのかバック(背面)なのか”方向”を指定する際に、以前は数値で指定していました。ドロップダウンに配列指定したり、コンボボックスで選択させたり、という対応ですね。
記事投稿時点(2021年8月)では、もっと良いやり方があります。
過去のやり方
以前に Up した記事が参考になると思います。
他にもカメラコントロールのネタで記事を書いてるかもしれませんが、もう十分ですかね。上記の記事中に登場する画像のように、カメラの”方向”は数値で指定していました。
AvailableDevices プロパティ
イツ登場したのか?全く記憶にないのですが、1年ほど前には存在していなかった新しいプロパティがカメラコントロールに追加されています。そのプロパティを利用すると「現在 Power Apps アプリが動作している環境で利用可能なカメラデバイス」を一覧(厳密にはテーブル型)で取得することができます。
Camera control > Key properties
上記 Docs にも説明がある「AvailableDevices」がソレに該当します。
AvailableDevices プロパティの利用例
おそらく主要な利用方法を例に説明します。
解説用アプリ
キャンバスアプリにドロップダウンとカメラコントロールを配置しただけ、です。
ドロップダウンに“OBS Virtual Camera”と表示されていますよね。
コレなんですよ。便利なヤツは。
Dropdown
ドロップダウンコントロールは下記の設定になっています。
Camera1.AvailableDevices
数式バーのデバッグを利用してプロパティから取得可能な値を確認すると下記になります。カメラが5つ(IDはゼロ始まり)だと把握できます。また、デバイス名も Name 列で把握できます。
取得されるカメラの個数は実行している環境に依存します。当方の PC は仮想デバイスをあわせて 5 つのカメラが選択可能だよ、ということです。なお、Power Apps上で、Snap Camera や OBS 等の仮想デバイスも正しく認識できていますね。
つまり、カメラコントロールを配置して「AvailableDevices」を参照することで『現在利用可能なカメラが一覧で取得可能』である、と把握できます。
おそらく、ブラウザーがアクセス可能なカメラの一覧だと推測されます。
状況証拠からの推測ですが Edge の場合では [設定]→[Cookie とサイトのアクセス許可]→[サイトのアクセス許可] のページにある [ブラウザーがアクセスできるカメラを選択する] のドロップダウンに表示される内容でしょう。
Camera
カメラコントロールの[Camera]プロパティはこちら。
Dropdown1.Selected.Id
前述のドロップダウンで選択された[Id]を指定しています。これでカメラの方向(向き)が切り替わりますよね?
念のため、デバッグ表示される値を確認してみると、ちゃんと数値です。
動作イメージ
想定通りの動作だとは思いますが、参考までに。
# まとめ カメラコントロールの[AvailableDevices]プロパティを利用することで、実行環境のカメラデバイスをまとめて取得できるようになりました。最近のデバイスは機種によってカメラの個数に統一感は無いし、フロントとバックのカメラIDも機種でバラバラです。そのため、過去は「5つもあれば十分だろう」という推測で配列などを作っていました。#PowerApps CameraControl AvailableDevices pic.twitter.com/cxXI83VQnl
— やま (Yama) (@yamad365) August 20, 2021
が、今はもう必要なくなりました!
便利なプロパティを利用していきましょう。
それでは、皆さま。素晴らしい Power Platform Life を!