Python3不使用pygame模块播放MP3的方法(python3 play mp3 file without using pygame)
环境:Python3.6+windows10
问题描述:Python播放MP3的时候一般用了三种方法,
第一种:使用OS模块播放,os.system(‘filename’) 缺点:调用第三方播放器来播放此文件
第二种:使用mp3play播放,但是此模块目前不支持Python3,所以放弃。在此处给出用法:
import mp3play
def playmusic(path):
clip = mp3play.load(path)
clip.play()
time.sleep(10)
clip.stop()
playmusic(‘test.mp3’)
第三种:使用pygame模块播放,一般的代码是
import pygame
pygame.init()
track = pygame.mixer.music.load(‘test.mp3’)
pygame.mixer.music.play()
time.sleep(10)
pygame.mixer.music.stop()
缺点一:pygame模块播放会出现失真的情况,所以要加入下面的代码才可以
pygame.mixer.init(frequency=15500,size=-16,channels=4)
解决办法:调节播放的频率,以变成正常的语速。
缺点二:pygame播放后会继续占用该文件,在多次生成该文件的时候造成障碍,所以不是很推荐。
第四种:(推荐)使用playsound模块播放MP3.
具体代码如下:
import playsound
filename=’test.mp3’
playsound.playsound(filename,True)
该方法语速正常,并且不会占用文件。
最后,奉上一首歌。