流媒体MP3解码器

streamp3的Python项目详细描述


流量3

这个库使用lame库实现流式mp3解压。

状态

PyPICircleCICoveralls

安装

PIP

pip install streamp3

用法

要开始解码mp3,请构造一个mp3decoder,并将其以二进制形式传递 流或bytes对象。然后您可以访问bit_ratesample_rate, 以及num_channels属性以获取有关mp3的信息。

fromstreamp3importMP3Decoderwithopen('my.mp3','rb')asmp3_file:decoder=MP3Decoder(mp3_file)print(decoder.bit_rate,decoder.sample_rate,decoder.num_channels)

然后可以使用read()方法直接从流中读取样本 或者使用解码器作为迭代器。样本作为bytes对象返回, 它是16位的pcm编码,采样交叉在信道中。这个 示例使用 PyAudio

importpyaudiofromstreamp3importMP3Decoderwithopen('my.mp3','rb')asmp3_file:decoder=MP3Decoder(mp3_file)audio=pyaudio.PyAudio()device=audio.get_default_output_device_info()speaker=audio.open(output=True,input_device_index=device['index'],format=pyaudio.paInt16,channels=decoder.num_channels,rate=decoder.sample_rate)forchunkindecoder:speaker.write(chunk)

开发

设置

我们通常使用pyenv创建虚拟环境。以下脚本 为项目创建虚拟环境并安装依赖项。

pyenv install 3.6.4
pyenv virtualenv 3.6.4 streamp3
pip install -r requirements.txt

LAME也必须安装。这可以在OSX上通过自制完成。

brew install lame

部署

项目使用setup.py进行安装,并部署到 PyPI。该项目可用于安装 以下命令:

python setup.py clean --all; rm -r ./dist
python setup.py sdist bdist_wheel

然后可以使用tween将wheel和source分发上传到pypi。

twine upload --repository-url=https://upload.pypi.org/legacy/ dist/*

许可证

版权所有2018 Pylon,Inc.

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

  http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajexcel包装文本问题   EclipseJavaEnum缩进超过左括号。如何让它看起来更正常?   java有办法包含Tomcat 6 catalina。out和localhost。在网络应用的日志文件中记录内容?   java如何永久性地阻止JavaFX代码在eclipse中被突出显示为错误?   如何在java中优化两个for循环(for循环中的for循环)   java如何在我的windows机器上从jar文件创建mac osx的可执行文件   使用记忆化/动态规划的Java组合学   Java中的游荡对象垃圾收集   java为什么我在JSP和JDBC和MySQL中遇到连接失败错误   java轮询Pod的就绪状态   如何创建电子邮件并将其发送到Java中的特定地址?   java如何修复Dagger 2错误“。。。无法提供[…]”?   java Android单选按钮看起来太轻   Android Studio:开发在应用程序之间共享的通用java库