溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python怎么實現(xiàn)mp3文件播放

發(fā)布時間:2023-05-04 09:20:37 來源:億速云 閱讀:244 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“python怎么實現(xiàn)mp3文件播放”,在日常操作中,相信很多人在python怎么實現(xiàn)mp3文件播放問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python怎么實現(xiàn)mp3文件播放”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

文中用到pygame及mutagen庫,安裝:

  • pip install pygame

  • pip install mutagen

以下為具體實現(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)前播放進度
        :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è)置播放進度
        :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è)置進度至88秒處
time.sleep(10)
mp3.pause_mp3    # 暫停播放
time.sleep(10)
mp3.unpause_mp3()    # 恢復(fù)播放
time.sleep(10)
mp3.stop()    # 停止播放

到此,關(guān)于“python怎么實現(xiàn)mp3文件播放”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI