Streamlitで音楽プレイヤーアプリを作ろう!

Python

今回は音楽プレイヤーアプリをStreamlitを使って作成していきたいと思います。

今回作成するアプリのイメージ

完成イメージ
ローカルPCから再生したいファイルを選択して、アップロード。

再生や一時停止などができるようにします。
再生機能は自分で実装しなくても実は超簡単にできます!

コード全体

ライブラリのインポート

pip install pygame
import streamlit as st
import pygame

def main():
    st.title("音楽プレイヤーアプリ")

    # 音楽ファイルをアップロードする
    music_file = st.file_uploader("音楽ファイルをアップロードしてください", type=["mp3"])

    if music_file:
        pygame.mixer.init()
        pygame.mixer.music.load(music_file)
        pygame.mixer.music.set_volume(0.5)  # ボリュームの設定

        st.audio(music_file, format="audio/mp3")  # 音楽のプレビュー


if __name__ == "__main__":
    main()

コードの解説

# 必要なライブラリをインポート
import streamlit as st
import pygame

ここでは、streamlitpygameライブラリをインポートしています。streamlitはWebアプリケーションを簡単に作成できるライブラリで、pygameは音楽の再生に使用されます。

def main():
    st.title("音楽プレイヤーアプリ")

main関数は、Streamlitアプリのエントリーポイントです。st.title()を使用してアプリのタイトルを設定しています。

    # 音楽ファイルをアップロードする
    music_file = st.file_uploader("音楽ファイルをアップロードしてください", type=["mp3"])

st.file_uploader()は、ユーザーが音楽ファイルをアップロードするためのファイルアップロードコンポーネントを提供します。ここで、ユーザーにアップロードするファイルの種類をmp3に制限しています。

    if music_file:

ユーザーが音楽ファイルをアップロードした場合、以下の処理を実行します。

        pygame.mixer.init()

pygame.mixer.init()は、Pygameの音声モジュールを初期化します。音楽を再生する前にこれを呼び出す必要があります。

        pygame.mixer.music.load(music_file)

pygame.mixer.music.load()は、指定した音楽ファイルを読み込みます。ここでは、ユーザーがアップロードした音楽ファイルを読み込んでいます。

        pygame.mixer.music.set_volume(0.5)  # ボリュームの設定

pygame.mixer.music.set_volume()を使用して、音楽の再生ボリュームを設定しています。0.0から1.0の範囲で設定できます。

        st.audio(music_file, format="audio/mp3")  # 音楽のプレビュー

st.audio()を使用して、アップロードした音楽ファイルをストリームリットアプリ内で再生可能な形式でプレビューしています。この行はアプリ内で音楽を再生しながら、ユーザーにプレビューを提供します。

if __name__ == "__main__":
    main()

最後に、アプリを実行するためのコードです。この行は、スクリプトが直接実行された場合にmain()関数を呼び出します。

今回は音楽プレイヤーアプリを作りました。かなり簡単にできましたね!

タイトルとURLをコピーしました