最近のアクセス:
AudioRecorder 外部オブジェクト

AudioRecoder 外部オブジェクトは、オーディオをファイルとしてレコーディングおよび保存するのに役立つシンプルな API です。
イメージ:39639.png イメージ:39640.png

プロパティ

[ IsRecording ] プロパティ

デバイスが現在レコーディング中か (True) レコーディング中でないか (False) を示します。

メソッド

: この API は、バッチモードで呼び出される 2 つのメソッドを定義します (ユーザーに表示される UI はありません)。

Start メソッド

オーディオ レコーディング セッションを開始し、操作が成功したかどうかを返します (ほかのレコーディングが進行中の場合は False を返します)。レコーディングしたオーディオはローカルファイルに保存されます。ファイルのパスは Stop メソッド (下を参照) で返され、オーディオベースの項目属性または変数に割り当てることができます。
戻り値 Boolean
パラメーター なし

Stop メソッド

現在のオーディオ レコーディング セッションを停止し、オーディオファイルが保存されたファイルのパスを返します。このメソッドに対する複数呼び出しは無効になります。
戻り値 URL
パラメーター なし

イベント

なし

: この例には、UI のカスタマイズ処理の詳細は含まれていません。

コミュニティチャットのシンプルなシナリオを考えてみます。現在、すべてのメッセージングシステムには、主に 2 つのコンポーネントがあります。
  1. メッセージは画面の下から上に向かって表示されます。この動作は、グリッドレベルで [ Inverse Loading ] プロパティを使用して実現できます。
  2. エンドユーザーがテキストメッセージを入力し、画面上のボタンをタップして送信するための、テキストフィールドがあります。これは、Character データタイプと、それに続く動作の Button コントロールに変数を含めることで設定できます。
Event 'SendTextMessage'
  Composite
    SendTextMessage(&Text,&Username)
    Refresh
  EndComposite
EndEvent
基本的に、SendTextMessage プロシージャーは送信メッセージ (&Text 変数、inout) とユーザー名 (&Username 変数) を受け取り、必要な確認を行ってから、そのメッセージを送信し、&Text 変数をクリアします。
ここで、3 番目のコンポーネントであるオーディオメッセージの送信機能を組み込みます。
この機能を実装するには、2 つの操作が必要です。
  • オーディオメッセージのレコーディング
    レコーディングプロセスを開始し、レコーディングセッションを開始できなかったときにユーザーに通知するボタンを含めます。
Event 'StartRecording'
   Composite
     &HasSuccess = AudioRecorder.Start()
     If not &HasSuccess
       msg("For some reason we couldn't start recording")
     EndIf
   EndComposite
EndEvent
操作が正常に完了したらこのボタンは非表示になり、現在のレコーディングプロセスを停止する別のボタンが表示される必要があります (次のポイントで説明します)。
  • レコーディングしたオーディオメッセージの送信
    エンドユーザーがレコーディングを停止したら、現在のオーディオメッセージを送信します。
Event 'StopRecording'
   Composite
     &IsRecording = AudioRecorder.IsRecording
     If &IsRecording
       &FilePath = AudioRecorder.Stop()
       &Audio.AudioURI = &FilePath
       SendAudioMessage(&Audio,&Username)
       Refresh
     EndIf
   EndComposite
EndEvent
SendAudioMessage プロシージャーは SendTextMessage プロシージャーに似ています。このボタンは、エンドユーザーが [ StartRecording ] ボタンをタップすると表示されるものです。そのため、レコーディングを開始していない状態で StopRecording イベントを呼び出すことはできません。しかし、ここでは、空のオーディオメッセージを送信する問題を回避するために、検証を含めます (オーディオレコーディングがない場合、Stop メソッドが機能しないため)。また、操作が成功した場合はこのボタンを非表示にし、エンドユーザーが新しいレコーディングを開始するためのボタンを表示する必要があります。
これらの概念を適用した後、分かりやすいカスタム UI を追加することで、次のような結果が得られます。
イメージ:34275.png

  • オーディオファイルは MPEG-4 形式で保存されます (AAC エンコーダーを使用)。この形式は、サポート対象のすべてのプラットフォームと互換性があります。
  • アクティブなオーディオ レコーディング セッションがあるときにアプリケーションを閉じると、そのレコーディングは停止され、オーディオファイルは破棄されます。
  • レコーディングしたオーディオは、Audio 外部オブジェクトのメソッドを使用して再生できます。

適用範囲

対応しているプラットフォーム: スマートデバイス (iOS、Android)

使用可能バージョン

この外部オブジェクトは、GeneXus 15 Upgrade 4 以降で利用できます。





サブページ
Created: 18/10/29 01:06 by Admin Last update: 21/05/21 02:39 by Admin
カテゴリ
Powered by GXwiki 3.0