python3 写一个WAV音频文件播放器的代码

yipeiwu_com5年前Python基础

环境:ubuntu 16.04 python3.5 pycharm

包 : wave pyaudio sys

上代码:AudioPlayer.py

# coding:utf-8
# author:king
# brief : 播放wav音频文件
import wave
from pyaudio import PyAudio
import sys
def player(filename):
  chunk = 1024
  wf = wave.open(filename, 'rb')
  p = PyAudio()
  stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(),
          rate=wf.getframerate(), output=True)
  data = wf.readframes(chunk)
  print(data)
  while data != b'':
    data = wf.readframes(chunk)
    stream.write(data)
  stream.stop_stream()
  stream.close()
  p.terminate()
if __name__ == '__main__':
  audiofile = sys.argv[1];
  player(audiofile);

使用方法是直接用pyinstaller 生成可执行文件

pyinstaller -F AudioPlayer.py

在dist下即可找到生成的可执行文件复制到/usr/bin/下即可使用

使用方法是 AudioPlayer dingwav

总结

以上所述是小编给大家介绍的python3 写一个WAV音频文件播放器的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python THREADING模块中的JOIN()方法深入理解

看了oschina上的两个代码,受益匪浅。其中对join()方法不理解,看python官网文档的介绍: join([timeout]):等待直到进程结束。这将阻塞正在调用的线程,直到被调...

python程序控制NAO机器人行走

最近重新学习nao的官方文档,写点简单的程序回顾一下。主要是用python调用api,写下来保存着。 '''Walk:small example to make nao walk''...

python实现合并多个list及合并多个django QuerySet的方法示例

本文实例讲述了python实现合并多个list及合并多个django QuerySet的方法。分享给大家供大家参考,具体如下: 在用python或者django写一些小工具应用的时候,有...

python中返回矩阵的行列方法

实例如下所示: # TODO 返回矩阵的行数和列数 def shape(M): return len(M),len(M[0]) 以上这篇python中返回矩阵的行列方法就是小编...

用Python实现读写锁的示例代码

起步 Python 提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。 通俗点说就是当没...