欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2023年05月03日 08:24:56   作者:ApocalypseScarecrow  
前段時間在搞一個基于python的語音助手,其中需要用到python播放音頻的功能,下面這篇文章主要給大家介紹了關(guān)于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)整播放進度
  • 獲取播放進度

一切盡在不言中,以下為具體實現(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):
        """
        獲取當前播放進度
        :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()    # 恢復播放
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)文章

  • django認證系統(tǒng)實現(xiàn)自定義權(quán)限管理的方法

    django認證系統(tǒng)實現(xiàn)自定義權(quán)限管理的方法

    今天小編就為大家分享一篇django認證系統(tǒng)實現(xiàn)自定義權(quán)限管理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python過濾字符串中不屬于指定集合中字符的類實例

    python過濾字符串中不屬于指定集合中字符的類實例

    這篇文章主要介紹了python過濾字符串中不屬于指定集合中字符的類,涉及Python針對字符串與集合的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • python對RabbitMQ的簡單入門使用教程

    python對RabbitMQ的簡單入門使用教程

    RabbitMq是實現(xiàn)了高級消息隊列協(xié)議(AMQP)的開源消息代理中間件,下面這篇文章主要給大家介紹了關(guān)于python對RabbitMQ的簡單入門使用,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Python中定時任務(wù)框架APScheduler的快速入門指南

    Python中定時任務(wù)框架APScheduler的快速入門指南

    APScheduler是基于Quartz的一個Python定時任務(wù)框架,實現(xiàn)了Quartz的所有功能,使用起來十分方便。下面這篇文章主要跟大家介紹了Python中定時任務(wù)框架APScheduler的快速入門指南,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Python&Matlab實現(xiàn)伏羲八卦圖的繪制

    Python&Matlab實現(xiàn)伏羲八卦圖的繪制

    八卦最先由伏羲根據(jù)燧人氏造設(shè)的兩幅星圖歷法《河圖洛書》創(chuàng)設(shè)。本文將通過Python和Matlab分別繪制伏羲八卦圖,感興趣的小伙伴可以了解一下
    2022-03-03
  • Django如何配置mysql數(shù)據(jù)庫

    Django如何配置mysql數(shù)據(jù)庫

    這篇文章主要為大家詳細介紹了Django配置mysql數(shù)據(jù)庫的詳細步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python的Flask框架中配置多個子域名的方法講解

    Python的Flask框架中配置多個子域名的方法講解

    Fask中可以通過通配符子域的方式來部署多個子域名,這里我們就來作一個Python的Flask框架中配置多個子域名的方法講解,需要的朋友可以參考下
    2016-06-06
  • matlab繪制局部放大圖圖文教程

    matlab繪制局部放大圖圖文教程

    這篇文章主要給大家介紹了關(guān)于matlab繪制局部放大圖的相關(guān)資料,所謂局部放大即呈現(xiàn)子圖,以顯示局部細節(jié),需要的朋友可以參考下
    2023-07-07
  • 淺析Python打包時包含靜態(tài)文件處理方法

    淺析Python打包時包含靜態(tài)文件處理方法

    這篇文章主要介紹了Python打包時包含靜態(tài)文件處理方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • node.js獲取參數(shù)的常用方法(總結(jié))

    node.js獲取參數(shù)的常用方法(總結(jié))

    下面小編就為大家?guī)硪黄猲ode.js獲取參數(shù)的常用方法(總結(jié))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論