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

相关文章

在pandas中一次性删除dataframe的多个列方法

之前沉迷于使用index删除,然而发现pandas貌似有bug? import pandas as pd import numpy as np df = pd.DataFrame(n...

pandas数据预处理之dataframe的groupby操作方法

pandas数据预处理之dataframe的groupby操作方法

在数据预处理过程中可能会遇到这样的问题,如下图:数据中某一个key有多组数据,如何分别对每个key进行相同的运算? dataframe里面给出了一个group by的一个操作,对于”g...

python使用turtle库与random库绘制雪花

python使用turtle库与random库绘制雪花

本文实例为大家分享了python绘制雪花的具体代码,供大家参考,具体内容如下 代码非常容易理解,画着玩玩还是可以的。直接上代码 # -*- coding: utf-8 -*- """...

Python求出0~100以内的所有素数

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 一、判断一个数是否为素数: 基于定义 def is_prime(num):...

TensorFlow实现简单卷积神经网络

TensorFlow实现简单卷积神经网络

本文使用的数据集是MNIST,主要使用两个卷积层加一个全连接层构建的卷积神经网络。 先载入MNIST数据集(手写数字识别集),并创建默认的Interactive Session(在没有指...