我正在写一个python程序来练习和测试我的普通话口语理解能力。它会从我指定的目录中随机选择一个mp3并播放它(之后会做更多的事情)。我正在使用mp3来玩这些mp3s,但我的问题是,我当前的设置需要显式声明pygame的采样频率才能正常播放。但是,我有一个48 kHz和44.1 kHz mp3s的混合,并希望能够播放他们而不失真的声音。
import pygame
import random
import os
filenames = [x[:-4] for x in os.listdir(filepath) if x.endswith(suffix)]
pygame.mixer.init(48000, -16, 2, 4096)
selected_filename = random.choice(filenames)
selected_filename_full = filepath + selected_filename + suffix
pygame.mixer.music.load(selected_filename_full)
pygame.mixer.music.set_volume(volume)
pygame.mixer.music.play()有没有办法检测mp3的采样频率?或者以其他方式正确播放mp3?这似乎是一个奇怪的问题,每当我双击一个mp3时,我的音乐播放器都会正确地播放它,那么我该怎么做才能在我的python代码中获得相同的行为呢?
发布于 2016-10-15 16:09:54
您可以使用eyeD3
import eyed3
e = eyed3.load(filename)
print e.info.sample_freqhttps://stackoverflow.com/questions/40056024
复制相似问题