Python或C++中MP3s的单声道播放

2024-05-16 12:31:32 发布

您现在位置:Python中文网/ 问答频道 /正文

Im使用pyqt在python中编写一个music player,我希望它能以mp3文件的单声道播放为特色。在

我已经使用pygame实现了这一点,因为它的混音器有一个特定的参数channels,我可以将其设置为1以获得单声道播放。在

但是,pygamemp3 support is limited,所以我正在寻找一个能够处理mp3文件和mono播放的库。在

目前,我正在使用pyaudiere进行播放,在它的site上有一个在播放前处理歌曲的例子,所以也许我可以这样做,将歌曲转换为单声道,但我真的不知道如何实现这一点。在

我想知道如何使用pyaudiere或任何其他可以处理mp3文件的库来编写这个特性。在

编辑

我也会接受C++中的一个解决方案,因为我总是可以使用Booo::Python

构建Python包装器。

Tags: 文件参数music歌曲pygamemp3pyqtplayer
3条回答

Gstreamer's Python bindings。在

这是一个非常简单的音乐播放器:

import gobject
import gst
pipeline = gst.parse_launch('filesrc location="stereo.mp3" ! mad ! audioconvert ! audio/x-raw-int,channels=1 ! autoaudiosink')
pipeline.set_state(gst.STATE_PLAYING)

gobject.threads_init()
gobject.MainLoop().run()

我真的建议您研究一下Gstreamer,因为它已经成为大多数开源平台的事实上的多媒体解决方案,并且支持各种各样的音频文件。使用它的示例应用程序:Rhythybox、女妖、图腾等。。。在

你有没有考虑过Python Audio Tools?它能够加载MP3并使用Player类播放。Player类初始值设定项接受一个^{}对象,该对象允许您指定播放通道的数量。在

这个项目似乎得到了2011年10月30日的最后一个git commit的支持(就在你发帖前两周)。它也存在了一段时间,所以它看起来不像是一个夜以继日的图书馆。在

如果你真的想要很好的Windows支持,我想你可能需要或者发现使用一个不同的API for Windows更容易。。。检查以下链接:

编辑-最有可能的解决方案(目前评论相当积极):

另一个选项是http://www.un4seen.com/bass.html(注意:商业)-它可以满足您的所有要求,在非商业应用程序中免费使用,并且有一个python包装器(称为pybass)。。。在

相关问题 更多 >