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

yipeiwu_com7年前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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

pytorch::Dataloader中的迭代器和生成器应用详解

在使用pytorch训练模型,经常需要加载大量图片数据,因此pytorch提供了好用的数据加载工具Dataloader。 为了实现小批量循环读取大型数据集,在Dataloader类具体实...

python实现可以断点续传和并发的ftp程序

前言 下载文件时,最怕中途断线,无法成功下载完整的文件。断点续传就是从文件中断的地方接下去下载,而不必重新下载。这项功能对于下载较大文件时非常有用。那么这篇文章就来给大家分享如何利用py...

Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】

本文实例讲述了Django框架模板语言。分享给大家供大家参考,具体如下: 模板语言 模板语言简称为DTL(Django Template Language) 模板变量 模板变量名由数字,...

关于Python3 lambda函数的深入浅出

我们常常看到一个这样的表达式  A=lambda x:x+1 可能会一头雾水不知道怎么计算 最基本的理解就是 def A(x): return x+1 但是理解程序不会将一个表...

跟老齐学Python之用while来循环

跟老齐学Python之用while来循环

在python中,它也有这个含义,不过有点区别的是,“当...时候”这个条件成立在一段范围或者时间间隔内,从而在这段时间间隔内让python做好多事情。就好比这样一段情景: while...