Bubbleのプラグイン「Howler.js」で音声ファイルの再生・一時停止機能を作る方法

ノーコードツール「Bubble」でプラグイン「Howler.js」を使って音声再生機能を作る方法を紹介します。

アップロードしたMP4の音声ファイルを、ボタンをクリックで再生、一時停止、再開とステータスを切り替える、Apple Musicなどの音楽プレイヤーでよく見かけるあの機能です。

実際のエディタキャプチャをふんだんに盛り込んでBubble初学者でも簡単に実装できるように解説するので、ぜひ手を動かしながらお試しくださいませ!

また、本メディアを運営する「EPICs株式会社」は、ノーコードを活用したアプリ・システム開発を行っております。大手ノーコードツールであるBubbleからも、公式代理店として認定されています。

従来のスクラッチ開発に比べ、ノーコードツールを活用した開発には以下のメリットがあります。

  • 開発期間をおよそ1/3に抑えられる → 検証や新規事業に向いている
  • 開発費用をおよそ1/3に抑えられる → 浮いた費用を別の領域に利用できる
  • リリース後の改修スピードも早い → PDCAを早く回せる

日本最大級のノーコード開発実績を持つ弊社なら、高度なものもスピーディーに開発することが可能です。ぜひご相談ください。

EPICs株式会社の特徴
  • 日本最大級のノーコード開発実績 → 高度な開発もスピーディー
  • 複数のノーコードツールに対応 → 最適なツール選びで開発費用・期間を最大限抑えられる
  • マーケティングまで支援が可能
目次

音声ファイル再生機能の実装イメージ

以下のような実装をしていきます。

  • 再生ボタンを押したらPlay=>カスタムステートをyesにセット
  • カスタムステートがyesのときに再生ボタンを押したらPause(一時停止)=>カスタムステートをnoにセット
  • 再生が終了したときにカスタムステートをnoにセット
  • 「再生」と「停止」アイコンはConditionalで、カスタムステートの値によって切り替える

BubbleのCustom stateが今回の実装の肝です!

ちなみに、Element Tree(構造)は以下でいきます。

今回紹介する音声再生機能を作る上で必要なのはGroupと、Icon、Howlerの3要素なので、Imageサムネは無くて大丈夫です。デモページでは見栄えを良くするために置きました。よしなに〜

Bubbleで音声ファイルを再生する実装手順

Howler.jsを駆使したBubbleでの音声ファイルの再生機能は、以下の手順で実装します。

  1. プラグイン「Howler.js」をインストール
  2. 再生アイコンの親Groupにカスタムステートを設定する
  3. 再生アイコンを設置
  4. Conditonalでカスタムステート使って再生アイコンを停止アイコンに切り替える設定をする
  5. Howler.jsのエレメントを設置
  6. 再生ボタンをクリックしたときのワークフローを設定する
  7. 停止ボタンをクリックしたときのワークフローを設定する
  8. 音声が再生終了したときのワークフローを設定する

ワークフローは全部で3つ組みます。

プラグイン「Howler.js」をインストール

プラグイン新規追加画面でHowlerと検索してインストールします。

再生アイコンの親Groupにカスタムステートを設定

Groupエレメントにカスタムステート「play」を「yes/no」で追加します。デフォルトvalueはnoにしておきましょう。

後ほど再生アイコンをクリックしたときなどのワークフローでこのGroupのカスタムステートのvalueを変更することで音声の再生・一時停止・再開だけでなく、再生アイコンから一時停止アイコンに切り替える処理も行うので超重要です。

再生アイコンを設置

再生アイコンをIconエレメントで追加します。

今回はアイコン色は白色で、サイズは56px × 56pxにしました。

サムネ画像を設置する場合はMargin topを16pxくらいつけるといい感じの余白感になります。

Conditonalでカスタムステート使って再生アイコンを停止アイコンに切り替える設定する

IconのConditionalタブを開き、親Groupに設定したカスタムステート「play」がyesだった場合に、アイコンを一時停止アイコンに切り替える設定をします。

一時停止アイコンが若干太ってる感じで気になりますが….。多めにみておきましょう。

Howler.jsのエレメントを設置

Howler.jsをインストールすると、Howlerエレメントが使えるようになります。

音声を再生するアイコンの下に設置しましょう。

例では、再生対象の音声ファイルは下記のサンプル音声配布サイトからダウンロードしたものをアップロードしてセットしました。

音声サンプルダウンロード元:http://pro-video.jp/voice/announce/

動的にアップロードする場合などは、データベースにファイル格納用のを作るなどして、ご自身のプロジェクトによって調整してください。

再生ボタンをクリックしたときのワークフローを設定

親Groupのカスタムステート「play」が「no」のときに再生ボタン(Icon)をクリックしたときのワークフローを組みます。

ワークフローStep1で、Element Actions > Play a Howlerを選択します。

次にワークフローStep2で、Set Stateで、親Groupのカスタムステートをyesにセットします。

こうすることで音声再生中状態を判定できます。

停止ボタンをクリックしたときのワークフローを設定

次に、親Groupのカスタムステート「play」が「yes」のとき、つまり音声再生中に再生ボタン(Icon)をクリックしたときのワークフローを組みます。

ワークフローStep1で、Element Actions > Pause a Howlerを選択します。

次にワークフローStep2で、Set Stateで、親Groupのカスタムステートをnoにセットします。

音声が再生終了したときのワークフローを設定する

最後に、イベント「A Howler has finished playing」を使い、音声の再生が終了したときに、親Groupのカスタムステート「play」のvalueを「no」にセットして完成です!

【ノーコード実績日本最大級!】ノーコード開発ならEPICs株式会社

当社はノーコード開発において日本最大級の実績を誇り、最安30万円、最短2週間という業界トップクラスのスピードと価格でサービスを提供しています。

他社との決定的な違いは、複数のノーコードツールに対応していること。お客様の要件に最適なツールを選択することで、開発期間の短縮と費用削減を同時に実現します。

さらに、アプリ//システム開発だけでなく、マーケティング支援まで一貫して対応可能。「良いアプリを作ったが、ユーザーが集まらない」という課題を解決するため、集客戦略の立案から実行まで包括的にサポートいたします。

特にMVP開発から本格運用まで段階的に進めたい企業様は、ぜひご相談ください。

この記事を書いた人

日本最大級のノーコード開発実績を誇り、大手ノーコードツールであるBubbleの公式代理店にも認定されているEPICs株式会社の開発チーム。

目次