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() # 再生終了