这篇文章主要介绍“python怎么实现mp3文件播放”,在日常操作中,相信很多人在python怎么实现mp3文件播放问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么实现mp3文件播放”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
文中用到pygame及mutagen库,安装:
pip install pygame
pip install mutagen
以下为具体实现代码
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):
"""
设置播放进度
: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():
"""
继续播放
: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) # 设置进度至88秒处
time.sleep(10)
mp3.pause_mp3 # 暂停播放
time.sleep(10)
mp3.unpause_mp3() # 恢复播放
time.sleep(10)
mp3.stop() # 停止播放
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!