python實現(xiàn)mp3文件播放的具體實現(xiàn)代碼
本文使用pygame實現(xiàn)播放mp3,文中用到pygame及mutagen庫,安裝:
- pip install pygame
- pip install mutagen
以下代碼實現(xiàn)mp3播放類,包含功能如下:
- 設(shè)置mp3文件
- mp3長度
- 暫停播放
- 繼續(xù)播放
- 停止播放
- 調(diào)整播放進(jìn)度
- 獲取播放進(jìn)度
一切盡在不言中,以下為具體實現(xiàn)代碼
import pygame
import os
class MP3Player(object):
def __init__(self, file):
self.file = file
from mutagen.mp3 import MP3
self.length = MP3(self.file).info.length
self.begin = 0.0
self.play_mp3(self.file)
def get_pos(self):
"""
獲取當(dāng)前播放進(jìn)度
:return:
"""
game_pos = pygame.mixer.music.get_pos()
if game_pos == -1:
return -1
return self.begin + game_pos / 1000
def set_pos(self, value):
"""
設(shè)置播放進(jìn)度
:param value: 秒
:return:
"""
if value >= self.length:
dst = self.length
else:
dst = value
self.play_mp3(self.file, dst)
def play_mp3(self, mp3_file, pos=0.0):
"""
播放mp3
:param mp3_file:
:param pos:
:return:
"""
if os.path.exists(mp3_file):
pygame.mixer.init()
pygame.mixer.music.load(mp3_file)
pygame.mixer.music.play(start=pos)
self.begin = pos
@staticmethod
def pause_mp3():
"""
暫停播放
:return:
"""
pygame.mixer.music.pause()
@staticmethod
def unpause_mp3():
"""
繼續(xù)播放
:return:
"""
pygame.mixer.music.unpause()
@staticmethod
def stop_mp3():
"""
停止播放 并 釋放MP3文件
:return:
"""
pygame.mixer.music.stop()
pygame.mixer.music.unload()直接實例化,使用demo如下:
import time
mp3 = MP3Player("光輝歲月.mp3")
print(mp3.length) # 打印mp3時長
mp3.set_pop(88) # 設(shè)置進(jìn)度至88秒處
time.sleep(10)
mp3.pause_mp3 # 暫停播放
time.sleep(10)
mp3.unpause_mp3() # 恢復(fù)播放
time.sleep(10)
mp3.stop() # 停止播放總結(jié)
到此這篇關(guān)于python實現(xiàn)mp3文件播放的文章就介紹到這了,更多相關(guān)python實現(xiàn)mp3文件播放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyCharm運(yùn)行Python代碼時出現(xiàn)"未找到模塊"錯誤解決步驟
在使用python的過程中經(jīng)常會遇到一個問題,就是叫什么名字的模塊未發(fā)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于PyCharm運(yùn)行Python代碼時出現(xiàn)"未找到模塊"錯誤的解決步驟,需要的朋友可以參考下2023-11-11
對pytorch網(wǎng)絡(luò)層結(jié)構(gòu)的數(shù)組化詳解
今天小編就為大家分享一篇對pytorch網(wǎng)絡(luò)層結(jié)構(gòu)的數(shù)組化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
使用pytorch加載并讀取COCO數(shù)據(jù)集的詳細(xì)操作
這篇文章主要介紹了使用pytorch加載并讀取COCO數(shù)據(jù)集,基礎(chǔ)知識包括元祖、字典、數(shù)組,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05

