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

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

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

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

また、本メディアを運営する「EPICs株式会社」では、ノーコードを活用したアプリ・システム開発を行っております。

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

  • 開発期間をおよそ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」にセットして完成です!

【日本最大級のノーコード開発実績】
無料でアプリ・システム開発の相談を受付中

    氏名

    法人名

    メールアドレス

    日中繋がりやすい電話番号

    お問い合わせ詳細 ※分かる範囲でご記入ください

    フォームの送信によりGoogleのプライバシーポリシー利用規約に同意したものとみなされます。

    日本最大級のノーコード開発実績!アプリ・システム開発サービス
    「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
    ノーコード開発ツールを使ったアプリ・システム開発にお困りですか?
    1からの開発も、途中からの開発も、お気軽にEPICsにご相談ください!
    著者・監修者
    大熊滉希
    日本最大級のノーコード開発実績を誇るEPICs株式会社の代表。株式会社DRAFT役員として新規事業のコンサルティングに従事した後、EPICsを創業。ノーコード開発の顧問として上場企業に支援も行っている。
    監修者
    石森裕也
    EPICs株式会社CTO。サイバーエージェントのグループ会社での経験を経てEPICsに参画した。これまでで100件以上のノーコード開発に従事。開発経験は10年。
    目次