python-vlcで音楽再生をプログラム制御

■サンプルコード1

出典:

 

python-vlcの出典:

 

# a:再生曲の位置を取得(0.0~1.0の範囲) 
# b :再生曲のインデックス番号を取得
# c:次の曲へスキップ
# d:曲を停止

import vlc
player = vlc.MediaListPlayer()
mediaList = vlc.MediaList(['test.wav', 'test.mp3', 'test.ogg'])
player.set_media_list(mediaList)
player.set_playback_mode(vlc.PlaybackMode.loop)
player.play()
while True:
    data = input()
    #POSITION
    if data == 'a':
        p = player.get_media_player()
        pos = p.get_position()
        print(pos)
    #INDEX
    elif data == 'b':
        p = player.get_media_player()
        media_instance = p.get_media()
        index = mediaList.index_of_item(media_instance)
        print(index)
    #NEXT
    elif data == 'c':
        player.next()
    #STOP
    elif data == 'd':
        player.stop()
        break

 

■サンプルコード2

出典:

 

import vlc
import time
 
# GUIで再生するときは別スレッドにしてください
# https://sapporo-president.com/archives/16794 参照
 
    # 関数ざっくりリファレンス
#   mp = vlc.MediaPlayer()         # コンストラクタ インスタンス作成 曲指定も可能
#   mp.set_mrl('曲ファイル名')        # 曲指定
#   mp.play()                # 再生開始
#   mp.stop()                # 再生終了
#   mp.pause()                # 一時停止または再開
#   mp.set_time(ms)            # 時間を設定
#   mp.get_time()            # 開始からの経過時間を取得(ms)
#   mp.audio_set_volume(volume)        # ボリューム変更
#   vlc.MediaList()            # 再生リストを作成
 
    # 以下サンプル
 
    # 曲指定
    mp = vlc.MediaPlayer()                                                             # インスタンスを作成
    mp.set_mrl('C:\\Users\\user\\Music\\iTunes\\LiSA\\紅蓮華 - Single\\01 紅蓮華.m4a') # 音楽ファイルを指定
    # 上の2行は下のようにコンストラクタに引数渡して1行で書くことも可能です。
#   mp = vlc.MediaPlayer('C:\\Users\\user\\Music\\iTunes\\LiSA\\紅蓮華 - Single\\01 紅蓮華.m4a')
 
    # 再生~終了
    mp.play()                # 再生開始
    time.sleep(3)            # 3秒待って(この間、音楽は流れています)
    mp.stop()                # 再生終了
 
    # 一時停止
    time.sleep(3)            # 3秒後に
    mp.play()                # 頭から再生開始
    time.sleep(3)            # 3秒待って
    mp.pause()                # 一時停止
    time.sleep(3)            # 3秒待って
    mp.pause()                # (続きから)再生再開
    time.sleep(3)            # 3秒待って
    mp.stop()                # 再生終了
 
    # 曲変更
    time.sleep(3)            # 3秒待って
    mp.set_mrl('C:\\Users\\user\\Music\\iTunes\\SOUL\'d OUT\\Single Collection\\10 イルカ.m4a')     # 曲変更
    mp.play()                # 頭から再生開始
    time.sleep(3)            # 3秒待って
    mp.pause()                # 一時停止
    mp.set_time(60000)            # 曲の開始から60秒後を設定し
    mp.pause()                # 60秒の部分から再生再開
    time.sleep(3)            # 3秒待って
    mp.stop()                # 再生終了