簡體   English   中英

用Python播放MP3-自動處理各種采樣頻率

[英]Playing MP3s in Python - Automatically handling varied sampling frequencies

我正在編寫一個Python程序來練習和測試我的普通話口語理解能力。 它從我指定的目錄中選擇一個隨機的mp3並播放(然后播放更多內容)。 我正在使用pygame播放這些mp3,但我的問題是我當前的設置需要明確聲明mp3的采樣頻率,才能使其正常播放。 但是,我混合了48 kHz和44.1 kHz 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代碼中獲得相同的行為?

您可以使用eyeD3

import eyed3
e = eyed3.load(filename)
print e.info.sample_freq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM