Power Apps での マイク コントロール
アプリのユーザーが自分のデバイスからのサウンドを録音できるようにするコントロール。
内容
マイク コントロールを使用して、デバイスのマイクでオーディオをキャプチャします。 デバイスにはマイクが必要であり、ユーザーはアプリがマイクを使用することを許可する必要があります。
最近録音されたオーディオ クリップは、Audio プロパティを通して利用できます。 このプロパティを使用すると、録音されたオーディオは次のようになります:
- 音声 コントロールで再生されます。 音声 コントロールを使用して録音を聴きます。 詳細については、 例 を参照してください。
- 一時的に変数またはコレクションに保存されます。 Set または Collect 関数を使用して、変数またはコレクションにオーディオ クリップを保存します。 デバイスのメモリが限られているコレクション内の複数のオーディオ クリップに対して、同時に注意が必要です。 SaveData および LoadData 関数を使用して、オーディオ クリップをデバイスのローカル ストレージと オフラインのシナリオ に移動します。
- データベースに格納されます。 Patch 関数を使用して、オーディオ クリップをデータベースに保存します。
- base64 でエンコードされたテキスト文字列として送信されます。 JSON 関数を使用して、オーディオ クリップを base64 エンコードします。
録音されたオーディオの形式:
- Android 用 3gp 形式。
- iOS 用 AAC 形式。
- Web ブラウザー用 OGG 形式。
キャプチャされたメディアは、テキスト文字列 URI によって参照されます。 詳細については、データ型ドキュメント をお読みください。
注意
マイク コントロールは、Chromium ベースの Microsoft Edge、Chrome、Firefox ブラウザ、Android、iOS デバイスに対応しています。 他のすべてのブラウザやプラット フォームでは、アプリの一部の機能が動作しない旨の警告メッセージが表示されます。
制限
マイク コントロールには、次の制限があります:
- Power Apps Mobile はさまざまな種類のデバイスで実行され、その一部には、プラットフォームに固有の制限があります。
- iPhone デバイスを除くすべてのプラットフォームで、同時に複数のビデオ コントロールでビデオを再生できます。
- Web プレーヤーを除くすべてのプラットフォームで、同時に複数のマイク コントロールを使用して音声を録音できます。
重要なプロパティ
Audio – ユーザーがデバイスのマイクで録音するときにキャプチャされるオーディオ クリップ。
Mic – 複数のマイクを備えたデバイスでの、マイクの数値 ID。
OnStop – ユーザーが マイク コントロールで録音を終了したとき実行するアクション。
追加のプロパティ
AccessibleLabel – スクリーン リーダー用のラベル。 マイクの目的を説明する必要があります。
BorderColor – コントロールの境界線の色。
BorderStyle – コントロールの境界線が実線、破線、点線、またはなしかどうか。
BorderThickness – コントロールの境界線の太さ。
Color – コントロールのテキストの色。
DisplayMode – コントロールがユーザー入力を許可するか (編集)、データのみを表示するか (表示)、または無効にするか (無効)。
DisabledBorderColor – コントロールの DisplayMode プロパティが無効に設定されている場合のコントロールの境界線の色。
DisabledColor – DisplayMode プロパティが 無効に設定されている場合のコントロール内のテキストの色。
DisabledFill – DisplayMode プロパティが無効に設定されている場合のコントロールの背景色。
Fill – コントロールの背景色。
FocusedBorderColor – コントロールがフォーカスされているときのコントロールの境界線の色。
FocusedBorderThickness – コントロールがフォーカスされているときのコントロールの境界線の太さ。
Height – コントロールの上端と下端間の距離。
HoverBorderColor – ユーザーがコントロール上にマウス ポインターを重ねているときのコントロールの境界線の色。
HoverColor – ユーザーがコントロールにマウス ポインターを重ねているときのコントロール内のテキストの色。
HoverFill – ユーザーがコントロールにマウス ポインターを重ねているときのコントロールの背景色。
画像 – 画像、オーディオ、マイク コントロールに表示される画像の名前。
ImagePosition – 画面またはコントロールのサイズが画像と異なる場合の、画面またはコントロール内の画像の位置 (画面いっぱい、自動調整、拡大、タイル表示、または中央に表示)。
OnSelect – ユーザーがコントロールを選択したときに実行するアクション。
OnStart – ユーザーがで マイク コントロール で録音を開始したとき実行するアクション。
PressedBorderColor – ユーザーがコントロールを選択するときのコントロールの境界線の色。
PressedColor – ユーザーがコントロールを選択するときのコントロール内のテキストの色。
PressedFill – ユーザーがコントロールを選択するときのコントロールの背景色。
Reset – コントロールを既定値に戻すかどうか。
TabIndex – 他のコントロールと比較したキーボード ナビゲーションの順序。
Tooltip – ユーザーがコントロールにカーソルを置くときに表示される説明テキスト。
Visible – コントロールが表示されるか非表示になるか。
Width – コントロールの左端と右端間の距離。
X – コントロールの左端とその親コンテナまたはスクリーンの左端との間の距離。
Y – コントロールの上端と親コンテナまたはスクリーンの上端との間の距離。
例
シンプルな直接再生
この例では、マイク コントロールを音声 コントロールに直接接続して、直ちに再生します:
マイク コントロールをアプリに 追加 します。
要求された場合は、アプリがデバイスのマイクを使用することを許可します。
音声 コントロールをアプリに追加します。
音声 コントロールのメディア プロパティを式に設定します:
Microphone1.Audio
注意
必要に応じて、マイク コントロール名を マイク1 に置き換えます。
アプリをプレビューします。
マイク コントロールを選択して録音を開始します。
音声を録音するため読み上げます。
マイク コントロールを再度選択して録音を終了します。
音声 コントロールを選択して録音を聞きます。
ギャラリー コントロールにサウンドを追加します
この例では、再生用に個別に選択できるコレクションに格納されたオーディオ クリップのギャラリーを作成します。
マイク コントロールを 追加 します。
Collect 関数を使用して OnStop プロパティをこの数式に設定します:
Collect( MySounds, MyMic.Audio )
ギャラリー コントロールを追加し、MyMic の下に移動します。
ギャラリーの Items プロパティを次の数式に設定します:
MySounds
Custom ギャラリー コントロールのテンプレートで、音声 コントロールを追加します。
オーディオ コントロールのメディア プロパティをこの数式に設定します:
ThisItem.Url
F5 キーを押してアプリをプレビューします。
MyMic を選択して録音を開始してから、もう一度選択して録音を終了します。
ギャラリー コントロールで、音声 コントロールの再生ボタンを選択して録音を再生します。
必要な数のサウンドを録音してから、Esc キーを押して既定のワークスペースに戻ります。
(オプション) ギャラリー コントロールのテンプレートで、ボタン コントロールを追加します。
OnSelect プロパティを次の数式に設定します:
Remove( MySounds, ThisItem )
F5 キーを押してから、ボタン コントロールに対応するものを選択して録音を削除します。
SaveData 関数を使用して録音をローカルに保存するか、Patch 関数を使用してデータ ソースを更新します。
アクセシビリティ ガイドライン
マイクは特殊なボタンなので、ボタン と同じガイドラインが適用されます。 また、以下の点を考慮してください:
音声の代替手段
言語障碍があるユーザーまたはマイクがないユーザー向けに、代替形式の入力を追加することを検討してください。 たとえば、テキスト入力 によりユーザーがテキストを入力できるようにします。
色のコントラスト
- 標準の色のコントラスト要件 についてお読みください。
- Image およびボタン テキストとアイコン (該当する場合) 間の適切な色のコントラストを確認します。
スクリーン リーダー サポート
- AccessibleLabel が存在する必要があります。
関連項目
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。