今回は音楽プレイヤーアプリを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
ここでは、streamlit
とpygame
ライブラリをインポートしています。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()
関数を呼び出します。
今回は音楽プレイヤーアプリを作りました。かなり簡単にできましたね!