audioplayer是一个跨平台的Python3模块,用于播放声音(mp3、wav等)

audioplayer的Python项目详细描述


音频播放器

audioplayer是一个跨平台的Python3软件包,用于播放声音(mp3、wav等)。它提供音频播放器的关键功能,如打开媒体文件、播放(循环/块)、暂停、恢复、停止和设置播放音量。在

我创建这个包是为了给我的游戏库game2dboard提供声音功能,但我决定单独发布它。在

支持系统(见full list):

  • GNU/Linux(PC,覆盆子派,…)
  • 窗口
  • 马科斯

playsound module的启发(并从中添加了几行代码)。在

安装

先决条件

GNU/Linux

在Linux中,需要安装PyGObject和其他依赖项。在

Ubuntu/Debian/Raspberry Pi操作系统:

sudo apt-get install python-gst-1.0 \ 
                     gir1.2-gstreamer-1.0 \ 
                     gstreamer1.0-tools \
                     gir1.2-gst-plugins-base-1.0 
                     gstreamer1.0-plugins-good \
                     gstreamer1.0-plugins-ugly                     

Redhat/Centos/Fedora公司:

^{pr2}$

macOS

在macOS中,需要安装PyObjC桥。在

pip3 install PyObjC --user

安装

建议安装audioplayer的方法是使用Pythonpip(或pip3)安装程序。在

pip3 install audioplayer

如果您没有管理员权限,请在主文件夹中安装。在

pip3 install audioplayer --user

您可以通过克隆此存储库来安装最新版本。在

git clone https://github.com/mjbrusso/audioplayer.git 
cd audioplayer
python3 setup.py install --user

用法

API被记录在bellow和docstrings中。在

安装后,您可以使用此代码来测试(替换“path/to/一些音乐.mp3“):

fromaudioplayerimportAudioPlayer# Playback stops when the object is destroyed (GC'ed), so save a reference to the object for non-blocking playback.AudioPlayer("path/to/somemusic.mp3").play(block=True)

美国石油学会

创建

  • audioplayer.AudioPlayer(filename)
    玩家创建。在

    • filenamestr–扩展名为(.mp3,.wav,…)的文件名

    引发:FileNotFoundError():文件不存在。在

属性

  • filenamestr(只读)
    构造函数中提供的文件名。在

  • fullfilenamestr(只读)
    具有完整路径的文件名。在

  • volumeint
    获取或设置音频的当前音量(0-100)

方法

  • play(loop=False, block=False)
    开始音频播放。在

    • loopbool)–设置完成后是否自动重复曲目。在
    • blockbool)–如果为true,则阻塞线程直到播放结束。在

    引发:AudioPlayerError():播放失败。在

  • pause()
    暂停音频播放。在

  • resume()
    恢复音频播放。在

  • stop()
    停止音频播放。又可以玩了。在

  • close()
    关闭设备,释放资源。不能再玩了。在

支持系统

audioPlayer已在以下平台上测试:

OSDetailsmp3wavoggmid
GNU/LinuxMint 19 (Cinnamon)
GNU/LinuxXubuntu 20.04
GNU/LinuxRaspberry Pi OS
WindowsWindows 10 x64
macOSCatalina (Python 3.8)

?尚未测试

如果您正在另一个系统/发行版/版本上使用,请通知我!在

路线图是什么?在

  • .seek(position):将播放移动到指定位置。在
  • .state:当前状态(播放、停止、暂停…)
  • .speed = value:获取/设置播放速度。在
  • 回调:当状态改变时,当位置被增量改变时。。。在

如何作出贡献

提交问题

使用issue tracker提交错误报告和功能或增强请求。在

翻译

您可以将此文档翻译成其他语言(除了enpt_br)来提供帮助。在

提交拉取请求

如果您可以改进此项目中的任何内容,请随意添加pull request。在

许可证

audioplayer位于MIT license下。如果许可软件的所有副本包括麻省理工学院许可条款和版权声明的副本,则可以在专有软件中重用。在

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

推荐PyPI第三方库


热门话题
java如何实现INotifyPropertyChanged的RxJava等价物以创建可观察的数据模型?   ArrayList中的java搜索   性能如何在Java中分析对象创建?   java使用arraylist中的运算符组合获取目标编号   java如何在片段中为添加/删除节点(使用grathstream)创建触摸事件?   java向jvm添加不同的p12证书   返回匿名类的新对象的java方法   java如何打开地图中的对象列表   使用socket的聊天应用程序在Java中不在Internet上工作   java可以在清单中定义值。是否可以通过编程方式访问MF?   什么东西(负)是什么意思?   java动态加载jar文件并使用xml创建Springbean   java实体类字符串[]与列表<String>   java自动化测试用例适用于appium命令行工具,但不适用于桌面客户端   java如何在Springboot中从JSON数组中删除元素?   runnable jar中的swing Java While循环不是迭代的,而是在eclipse中运行良好的相同代码   如何从Java中的CosmosDB容器中检索给定分区键的所有文档?   我想将java中数组中的值存储在我自己类型的arrayList中。我该怎么做   使用ApachePOI的java条件格式   java需要编写没有线程的selenium代码。睡觉