Tại thời điểm này, tại sao không đề cập đến python-audio-tools
Đó là giải pháp tốt nhất tôi tìm thấy
[Tôi cần cài đặt libasound2-dev
, trên Raspbian]
Đoạn trích mã dựa trên.
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 //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 __name__ == "__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]
Trong hướng dẫn này, chúng tôi sẽ tạo Ứng dụng Trình phát nhạc bằng Python bằng cách sử dụng mô-đun Tkinter và Pygame
Trong cuộc sống hàng ngày, chúng ta thấy mỗi người đều có một sở thích và đó là nghe nhạc. Vì vậy, để nghe nhạc, tất cả họ đều cần một Trình phát nhạc [phần cứng hoặc phần mềm], nơi họ có thể phát các bài hát yêu thích của mình. Và chúng ta phải cài đặt trình phát nhạc này trên máy tính của mình, dựa trên Hệ điều hành i. điện tử Windows, Macintosh, Android, Linux, v.v. Sau đó chúng ta có thể nghe những bài hát yêu thích của mình
Bây giờ chúng tôi sẽ giúp bạn viết mã và tạo Trình phát nhạc từ đầu
Thư viện được sử dụng cho Ứng dụng Trình phát nhạc
Bây giờ chúng tôi sẽ cho bạn biết về các Thư viện mà chúng tôi sẽ sử dụng trong mã của mình
1. tkinter
Chúng tôi đã nói với bạn trong tiêu đề của trang này rằng chúng tôi sẽ sử dụng thư viện Tkinter, đây là thư viện chuẩn để tạo GUI. Thư viện Tkinter là phổ biến nhất và rất dễ sử dụng và nó đi kèm với nhiều tiện ích [những tiện ích này giúp tạo các Ứng dụng GUI đẹp mắt]
Ngoài ra, Tkinter là một mô-đun rất nhẹ và rất hữu ích trong việc tạo các ứng dụng đa nền tảng [vì vậy cùng một mã có thể dễ dàng hoạt động trên Windows, macOS và Linux]
Để sử dụng tất cả các chức năng của Tkinter, bạn cần nhập nó vào mã của mình và lệnh tương tự là
from tkinter import *
Chúng tôi sẽ cung cấp đường dẫn của thư mục bài hát trong mã của chúng tôi nơi đặt tất cả các bài hát để truy cập chúng
Bây giờ, ảnh chụp màn hình sau đây là để cho bạn thấy ứng dụng sẽ trông như thế nào
bất cứ khi nào bạn nhấp vào bài hát, nó sẽ trông như thế này
Khi nhấp vào nút PLAYONG
Khi nhấp vào nút TẠM DỪNG
Khi nhấp vào nút STOP
Vì vậy, đây là tất cả về việc xây dựng Ứng dụng Trình phát nhạc bằng Tkinter. Hy vọng tất cả các bạn thích ứng dụng này. Hãy chia sẻ thêm ý tưởng với chúng tôi về các ứng dụng máy tính để bàn dựa trên Tkinter và chúng tôi chắc chắn sẽ bổ sung thêm nhiều dự án Tkinter vào hướng dẫn Tkinter của chúng tôi