忘備ログ

失い続ける履歴 Pythonとか趣味とかいろいろ

Pythonで音楽を再生したい(2) pygame編

こんにちは、スドウです。
前回に引き続き、Python.wav形式の音楽ファイルを再生してみようと思います。

sudo2501lab01.hatenablog.com

今回は pygameライブラリを使用します。
pygame は外部ライブラリなので、予めインストールしておいてください。

以下にソースです。

def main():

    sound_file = "sound.wav" # 再生する.wavファイル

    pyx.init(frequency = 44100, size = -16, channels = 2, buffer = 4096) \# 初期設定

    sounds = pyx.Sound(sound_file) # 再生ファイルを設定

    channel = sounds.play(loops = -1) # 音楽再生(-1:無限ループ)

    sound_time = sounds.get_length() # 再生時間取得(曲の長さ, 秒単位)

    print(sound_time)
    
    volume = channel.get_volume() # 音量取得
    print(volume)
    channel.set_volume(0.5) # 音量変更

if __name__ == '__main__':  
    main()

IDLEからプログラムを実行すると、sound.wavが再生されます。
音量注意

ソース内のコメントで各機能に軽く触れていますが、簡単に説明します。

channel = sounds.play(loops = -1)で再生回数を設定します。
loops = 0の場合は1回のみ再生されます。
( loops = nの場合n+1回再生。-1の場合は無限ループ)

volume = channel.get_volume()で音量情報を取得します。
音量はデフォルトで最大(1.0)になっています。
次に、channel.set_volume(0.5)で音量を0.5に設定します。

pygameを使用して音楽再生ができました。
個人的には、前回使用したwinsoundよりも音量等の設定ができるのはうれしいですね。

pygame日本語サイト を見ると、一時停止・再開もできるみたいですね。
これからこういった機能も実装してみたいですね。

ではでは!

スポンサードリンク