作成日:2024年07月12日
音声を再生する(2)

スクリプトで音声ファイルの再生を制御(iOSのみ)
音声再生をスクリプトで制御する方法を説明しましたが、iOS環境に限定すればもっと容易に実行可能です
スクリプト
AVPlayer再生 [フィールド: test::音声ファイル保管場所; 表示: オーディオのみ;]
以上で、レイアウトに配置する事なく音声再生する事ができます
AVPlayer再生状態設定により、「一時停止」や「停止」で音声再生を止める事も可能です
「一時停止」した場合、AVPlayer再生状態設定の「再生中」を実行すれば、停止位置から再開できます
但し、「停止」した場合は実行できません
javascriptで音声ファイルの再生を制御
まず、レイアウト上にWEBビューアを配置し、下記の様に記述します
ディスク上に音声ファイルが存在する場合
WEBビューア
"data:text/html, <audio id='audio' src='test.mp3' controls id='music'></audio> <script> const audio = document.getElementById('audio'); function audio_start(){ audio.play(); } function audio_pause(){ audio.pause(); } function audio_stop(){ audio.pause(); audio.currentTime = 0; } </script>"
フィールドに音声ファイルが存在する場合
WEBビューア
"data:text/html, <script> const audio = new Audio(\"data:audio/mp3;base64," & Basee64EncodeRFC(4648; test::音声ファイル) & "\"); function audio_start(){ audio.play(); } function audio_pause(){ audio.pause(); } function audio_stop(){ audio.pause(); audio.currentTime = 0; } </script>"
Webビューアのオブジェクト名は、仮に「js」とします
次に、スクリプトでjavascriptを実行します
再生(一時停止の後に実行すると、続きから再生)
スクリプト
WebビューアでJavaScriptを実行[オブジェクト名: "js"; 関数名: "audio_start"]
一時停止
スクリプト
WebビューアでJavaScriptを実行[オブジェクト名: "js"; 関数名: "audio_pause"]
停止
スクリプト
WebビューアでJavaScriptを実行[オブジェクト名: "js"; 関数名: "audio_stop"]

以上で今日のメモ書きは終了です
内容はいかがでしたか?
もしご意見やご要望、誤りの指摘などありましたら、下記フォームよりお気軽にご連絡ください