Pythonから自分の歌(mp3)を再生したいのですが、それを行うための最も簡単なコマンドを教えてもらえますか?
これは正しくありません:
import wave
w = wave.open("e:/LOCAL/Betrayer/Metalik Klinik1-Anak Sekolah.mp3","r")
これを試して。これは単純ですが、おそらく最良の方法ではありません。
from pygame import mixer # Load the required library
mixer.init()
mixer.music.load('e:/LOCAL/Betrayer/Metalik Klinik1-Anak Sekolah.mp3')
mixer.music.play()
MP3
のサポートは制限されています であることに注意してください。
pip install pygame
VLC Pythonモジュール 、vlc.pyを入手します。これはlibVLCを完全にサポートし、サイトパッケージでポップします。次に:
>>> import vlc
>>> p = vlc.MediaPlayer("file:///path/to/track.mp3")
>>> p.play()
そして、あなたはそれを止めることができます:
>>> p.stop()
そのモジュールはそれ以上のことを十分に提供します(VLCメディアプレーヤーでできることはほとんど何でも)が、それは1つのMP3を再生する最も簡単で効果的な手段です。
Os.pathを少し試して、ファイル名を指定し、場合によっては検索ディレクトリを制限して、MP3へのパスを見つけることができます。
完全なドキュメントと事前に準備されたモジュールが利用可能です こちら 。現在のバージョンはPython 3互換です。
playsound も参照してください
pip install playsound
import playsound
playsound.playsound('/path/to/filename.mp3', True)
ここではまだ提案されていませんが、おそらく最も簡単な解決策の1つです。
import subprocess
def play_mp3(path):
subprocess.Popen(['mpg123', '-q', path]).wait()
Mpg123準拠のプレーヤーに依存します。 Debianを使用する場合:
apt-get install mpg123
または
apt-get install mpg321
Jupyter(以前のIPython)ノートブックで作業している場合、次のことができます。
import IPython.display as ipd
ipd.Audio(filename='path/to/file.mp3')
簡単な解決策:
import webbrowser
webbrowser.open("C:\Users\Public\Music\Sample Music\Kalimba.mp3")
乾杯...
この時点で、python-audio-tools
に言及しない理由:
それは私が見つけた最良の解決策です。
(Raspbianにlibasound2-dev
をインストールする必要がありました)
以下に基づいた大まかなコードの抜粋:
https://github.com/tuffy/python-audio-tools/blob/master/trackplay
#!/usr/bin/python
import os
import re
import audiotools.player
START = 0
INDEX = 0
PATH = '/path/to/your/mp3/folder'
class TracklistPlayer:
def __init__(self,
tr_list,
audio_output=audiotools.player.open_output('ALSA'),
replay_gain=audiotools.player.RG_NO_REPLAYGAIN,
skip=False):
if skip:
return
self.track_index = INDEX + START - 1
if self.track_index < -1:
print('--> [track index was negative]')
self.track_index = self.track_index + len(tr_list)
self.track_list = tr_list
self.player = audiotools.player.Player(
audio_output,
replay_gain,
self.play_track)
self.play_track(True, False)
def play_track(self, forward=True, not_1st_track=True):
try:
if forward:
self.track_index += 1
else:
self.track_index -= 1
current_track = self.track_list[self.track_index]
audio_file = audiotools.open(current_track)
self.player.open(audio_file)
self.player.play()
print('--> index: ' + str(self.track_index))
print('--> PLAYING: ' + audio_file.filename)
if not_1st_track:
pass # here I needed to do something :)
if forward:
pass # ... and also here
except IndexError:
print('\n--> playing finished\n')
def toggle_play_pause(self):
self.player.toggle_play_pause()
def stop(self):
self.player.stop()
def close(self):
self.player.stop()
self.player.close()
def natural_key(el):
"""See http://www.codinghorror.com/blog/archives/001018.html"""
return [int(s) if s.isdigit() else s for s in re.split(r'(\d+)', el)]
def natural_cmp(a, b):
return cmp(natural_key(a), natural_key(b))
if __== "__main__":
print('--> path: ' + PATH)
# remove hidden files (i.e. ".thumb")
raw_list = filter(lambda element: not element.startswith('.'), os.listdir(PATH))
# mp3 and wav files only list
file_list = filter(lambda element: element.endswith('.mp3') | element.endswith('.wav'), raw_list)
# natural order sorting
file_list.sort(key=natural_key, reverse=False)
track_list = []
for f in file_list:
track_list.append(os.path.join(PATH, f))
TracklistPlayer(track_list)
ここにリストされているオプションのほとんどを試したところ、次のことがわかりました。
windows 10の場合:@ Shuge Leeの回答に類似;
from playsound import playsound
playsound('/path/file.mp3')
実行する必要があります:
$ pip install playsound
macの場合:osコマンドを実行する次のコードを試してください。
import os
os.system("afplay file.mp3")
別のすばやく簡単なオプション...
import os
os.system('start path/to/player/executable path/to/file.mp3')
今、あなたはそれを動作させるためにいくつかのわずかな変更を加える必要があるかもしれません。たとえば、プレーヤーに追加の引数が必要な場合、または完全なパスを指定する必要がない場合。しかし、これはそれを行う簡単な方法です。
from win32com.client import Dispatch
wmp = Dispatch('WMPlayer.OCX')
liste = [r"F:\Mp3\rep\6.Evinden Uzakta.mp3",
r"F:\Mp3\rep\07___SAGOPA_KAJMER___BIR__I.MP3",
r"F:\Mp3\rep\7.Terzi.mp3",
r"F:\Mp3\rep\08. Rüya.mp3",
r"F:\Mp3\rep\8.Battle Edebiyatı.mp3",
r"F:\Mp3\rep\09_AUDIOTRACK_09.MP3",
r"F:\Mp3\rep\02. Sagopa Kajmer - Uzun Yollara Devam.mp3",
r"F:\Mp3\rep\2Pac_-_CHANGE.mp3",
r"F:\Mp3\rep\03. Herkes.mp3",
r"F:\Mp3\rep\06. Sagopa Kajmer - Istakoz.mp3"]
for x in liste:
mp3 = wmp.newMedia(x)
wmp.currentPlaylist.appendItem(mp3)
wmp.controls.play()
コードは
import os
os.system("mpg321 song1.mp3")
mpg321は、オーディオデコードライブラリを使用する無料のコマンドラインオーディオプレーヤーです。
この問題があり、気に入った解決策が見つからなかったため、mpg321のpythonラッパーを作成しました: mpyg321 。
コンピューターにmpg321をインストールし、pip install mpyg321
を実行する必要があります。
使い方はとても簡単です:
from mpyg321.mpyg321 import MPyg321Player
from time import sleep
player = MPyg321Player() # instanciate the player
player.play_song("sample.mp3") # play a song
sleep(5)
player.pause() # pause playing
sleep(3)
player.resume() # resume playing
sleep(5)
player.stop() # stop playing
player.quit() # quit the player
また、いくつかのイベント(ユーザーによって一時停止された音楽、曲の終わりなど)のコールバックを定義することもできます。