我正在尝试使用 PySide 的 Phonon 模块播放一些 .flac 文件(如果有区别的话,在 Mac 上),但它不是可用于播放的 mimetype。有没有办法启用此功能或我需要安装的插件?
最佳答案
您可以使用Pydub播放所有流行的音频格式,包括flac。和 Pyaudio
示例代码:
#-*- coding: utf-8 -*-
from pydub import AudioSegment
from pydub.utils import make_chunks
from pyaudio import PyAudio
from threading import Thread
class Song(Thread):
def __init__(self, f, *args, **kwargs):
self.seg = AudioSegment.from_file(f)
self.__is_paused = True
self.p = PyAudio()
print self.seg.frame_rate
Thread.__init__(self, *args, **kwargs)
self.start()
def pause(self):
self.__is_paused = True
def play(self):
self.__is_paused = False
def __get_stream(self):
return self.p.open(format=self.p.get_format_from_width(self.seg.sample_width),
channels=self.seg.channels,
rate=self.seg.frame_rate,
output=True)
def run(self):
stream = self.__get_stream()
chunk_count = 0
chunks = make_chunks(self.seg, 100)
while chunk_count <= len(chunks):
if not self.__is_paused:
data = (chunks[chunk_count])._data
chunk_count += 1
else:
free = stream.get_write_available()
data = chr(0)*free
stream.write(data)
stream.stop_stream()
self.p.terminate()
song = Song("song.flac")
song.play()
关于python - Phonon 可以播放 FLAC 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18116650/