最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)mp3文件播放的具體實(shí)現(xiàn)代碼

 更新時(shí)間:2023年05月03日 08:24:56   作者:ApocalypseScarecrow  
前段時(shí)間在搞一個(gè)基于python的語音助手,其中需要用到python播放音頻的功能,下面這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)mp3文件播放的具體實(shí)現(xiàn)代碼,需要的朋友可以參考下

本文使用pygame實(shí)現(xiàn)播放mp3,文中用到pygame及mutagen庫,安裝:

  • pip install pygame
  • pip install mutagen

以下代碼實(shí)現(xiàn)mp3播放類,包含功能如下:

  • 設(shè)置mp3文件
  • mp3長度
  • 暫停播放
  • 繼續(xù)播放
  • 停止播放
  • 調(diào)整播放進(jìn)度
  • 獲取播放進(jìn)度

一切盡在不言中,以下為具體實(shí)現(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()

直接實(shí)例化,使用demo如下:

import time
mp3 = MP3Player("光輝歲月.mp3")
print(mp3.length)   # 打印mp3時(shí)長
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實(shí)現(xiàn)mp3文件播放的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)mp3文件播放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中prettytable庫的使用方法

    python中prettytable庫的使用方法

    prettytable是Python的一個(gè)第三方工具庫,用于創(chuàng)建漂亮的ASCII表格,本文主要介紹了python中prettytable庫的使用方法,使用prettytable可以輕松地將數(shù)據(jù)可視化為表格,感興趣的可以了解一下
    2023-08-08
  • Django ORM 常用字段與不常用字段匯總

    Django ORM 常用字段與不常用字段匯總

    這篇文章主要介紹了Django ORM 常用字段與不常用字段匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python中turtle作圖示例

    Python中turtle作圖示例

    這篇文章主要介紹了Python中turtle作圖示例,分享了幾則turtle作圖的小實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • PyCharm運(yùn)行Python代碼時(shí)出現(xiàn)"未找到模塊"錯(cuò)誤解決步驟

    PyCharm運(yùn)行Python代碼時(shí)出現(xiàn)"未找到模塊"錯(cuò)誤解決步驟

    在使用python的過程中經(jīng)常會(huì)遇到一個(gè)問題,就是叫什么名字的模塊未發(fā)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于PyCharm運(yùn)行Python代碼時(shí)出現(xiàn)"未找到模塊"錯(cuò)誤的解決步驟,需要的朋友可以參考下
    2023-11-11
  • python如何爬取個(gè)性簽名

    python如何爬取個(gè)性簽名

    這篇文章主要為大家詳細(xì)介紹了pythonx抓取個(gè)性簽名的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python填充任意顏色,不同算法時(shí)間差異分析說明

    Python填充任意顏色,不同算法時(shí)間差異分析說明

    這篇文章主要介紹了Python填充任意顏色,不同算法時(shí)間差異分析說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 如何利用Python擬合函數(shù)曲線詳解

    如何利用Python擬合函數(shù)曲線詳解

    在實(shí)際項(xiàng)目中,往往有這樣的需求:對采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理(曲線擬合),再計(jì)算出一些想要的參數(shù),比如峰值/dip值/周期等等,下面這篇文章主要給大家介紹了關(guān)于如何利用Python擬合函數(shù)曲線的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 對pytorch網(wǎng)絡(luò)層結(jié)構(gòu)的數(shù)組化詳解

    對pytorch網(wǎng)絡(luò)層結(jié)構(gòu)的數(shù)組化詳解

    今天小編就為大家分享一篇對pytorch網(wǎng)絡(luò)層結(jié)構(gòu)的數(shù)組化詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python實(shí)現(xiàn)網(wǎng)頁錄音效果

    python實(shí)現(xiàn)網(wǎng)頁錄音效果

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)網(wǎng)頁錄音效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 使用pytorch加載并讀取COCO數(shù)據(jù)集的詳細(xì)操作

    使用pytorch加載并讀取COCO數(shù)據(jù)集的詳細(xì)操作

    這篇文章主要介紹了使用pytorch加載并讀取COCO數(shù)據(jù)集,基礎(chǔ)知識包括元祖、字典、數(shù)組,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評論

满洲里市| 灵台县| 北宁市| 汨罗市| 汉阴县| 玉门市| 嘉义县| 阳东县| 邹城市| 高唐县| 眉山市| 宣恩县| 德钦县| 汉川市| 富平县| 福安市| 稷山县| 沾化县| 镇赉县| 怀集县| 五大连池市| 崇信县| 彩票| 青田县| 长汀县| 宜兴市| 阜南县| 岳阳市| 济源市| 吴江市| 鄂托克前旗| 孟津县| 青冈县| 祥云县| 信丰县| 肥乡县| 绥宁县| 定兴县| 永福县| 德化县| 错那县|