Python如何实现MP3音乐文件的播放?
作者:WarmHope
时间:2023-05-07
来源:互联网
浏览:0
文中用到pygame及mutagen库,安装:pipinstallpygamepipinstallmutagen以下为具体实现代码importpygameimportosclassMP3Player(object):def__init__(self,file):self.file=filefrommutagen.mp3importMP3self.length=MP3(self.file).info.lengthself.begin=0.0self.play_mp3(self.file)defget_pos
文中用到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() # 停止播放
作者最新文章
思源笔记
2026-09-16 17:42
在线PDF转TXT操作步骤与乱码排查指南
2026-09-04 13:02
PDF加水印后如何检查显示效果?在线工具操作步骤与避坑指南
2026-09-03 13:02
Xshell保持连接不断开及会话文件本地存储路径详解
2026-09-03 06:02
两个PDF怎么合并成一个?在线合并后怎么检查顺序?
2026-09-02 20:00
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















