2016-10-15 5 views
0

私はマンダリンの口頭理解を実践してテストするためのPythonプログラムを書いています。それは私の指定されたディレクトリからランダムmp3を選択し、それを再生します(その後、より多くのものを行います)。私はこれらのmp3を再生するためにpygameを使用していますが、私の問題は、私の現在の設定では、mp3のサンプリング周波数を明示的に宣言して正しく再生することです。しかし、48kHzと44.1kHzのmp3が混在しており、音を歪ませずに再生できるようにしたいと考えています。PythonでMP3を再生する - さまざまなサンプリング周波数を自動的に処理する

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コードで同じ動作をさせるために何ができますか?

答えて

1

あなたはeyeD3を使用することができます。

import eyed3 
e = eyed3.load(filename) 
print e.info.sample_freq 
関連する問題