Python3.7 无法安装pyaudio

度娘的结果基本都是这个,pip install pyaudio.....然而十有八九你的电脑不买账,会报错。

报错信息:

    running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
copying src\pyaudio.py -> build\lib.win-amd64-3.7
running build_ext
building '_portaudio' extension
error: [WinError ] 系统找不到指定的路径。:
'D:\\VS2015\\VC\\PlatformSDK\\lib'

或者:

 [WinError 3] 系统找不到指定的路径。: 'C:\\Program Files (x86)\\Microsoft\\v8.1\\lib'

还有....

从网上找到解决Python安装PyAudio库问题基本都是基于Linux系统下的,所以我觉得也有必要写一下这个安装库的方法,分享给到大家。

我们的解决方法非常简单,就是pip不是不行么,那咱们自己下好了库(PyAudio),安装上不就好了,这就是我们的解决安装等疑难杂症问题的基本思路,对,就是变通;

到这个地址下载对应的whl

Python Extension Packages for Windows

CP37就是python3.7--amd64应该都知道就是系统的位数,选好了再下。

下载好了之后打开“命令提示符”,cd到下载的路径然后,cd命令还不会使的话你该反省一下,去百度一下吧,有很多的。

注:下面的FileName,就是文件名称,全名。(当然要加上文件格式.whl)

pip install "FileName"

安装成功测试:

安装成功后我们来写一个实际案例,庆祝一下。

录制一个4s的wav格式音频文件,

因为RECORD_SECONDS = 5.

import pyaudio
import wave #定义音频数据参数
CHUNK = 1024 #块
FORMAT = pyaudio.paInt16
CHANNELS = 2 #渠道
RATE = 44100 #率
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "Recording.wav" p = pyaudio.PyAudio() # 打开数据流
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK) print("& Start Recording & :") frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data) print("#### done recording ####") # 停止数据流
stream.stop_stream()
stream.close() # 关闭 PyAudio
p.terminate() wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()

ok

同理我就直接上代码,音频的播放:

#引入库
import wave
import pyaudio #定义数据流块
chunk = 1024 #只读方式打开wav文件
f = wave.open(r"FilePath","rb") p = pyaudio.PyAudio() #打开数据流
stream = p.open(format = p.get_format_from_width(f.getsampwidth()),
channels = f.getnchannels(),
rate = f.getframerate(),
output = True) #读取数据
data = f.readframes(chunk) #播放FileName.wav
while data != None:
stream.write(data)
data = f.readframes(chunk) #停止数据流
stream.stop_stream()
stream.close() #关闭 PyAudio
p.terminate()

文章实例的借鉴学习于:

http://people.csail.mit.edu/hubert/pyaudio/docs/#class-pyaudio

Python3.7在win10下安装PyAudio库以及实现音频的录制与播放的更多相关文章

  1. Python3.7安装pyaudio库报错问题及修复

    本人今天在使用python编写语音相关项目是需要引用pyaudio库,结果发现引用失败,刚开始报错内容如下: 说让我升级pip,然后我就按照提示升级了pip,然后又再次尝试安装pyaudio库,然后还 ...

  2. WIN10下安装python3.7.2出现“尝试创建C:\Users\XX\AppData\Roaming\Microsoft\Installer时出错”

    WIN10下安装python3.7.2出现"尝试创建C:\Users\XX\AppData\Roaming\Microsoft\Installer时出错" 1.右键点击安装包以管理 ...

  3. win10下安装ubuntu18.04

    在win10下安装Ubuntu18.04,双系统共存.Ubuntu 18.04 使用的是Gnome桌面. 查看系统的启动模式: Win+R打开运行,输入msinfo32,回车查看系统信息.在BIOS模 ...

  4. win10下安装使用Docker:Docker for Windows

    一.下载win10下安装docker和桌面管理的工具: 下载地址:Docker for Windows 安装软件学习地址:https://www.runoob.com/docker/docker-tu ...

  5. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...

  6. win10下安装Ubuntu + 修复Ubuntu引导

    如何在已安装 Windows 10 的情况下安装 Linux(Ubuntu 15.04)双系统? - Microsoft Windows - 知乎http://www.zhihu.com/questi ...

  7. linux下安装uuid库

    1.linux 下安装UUID库 1.1)ubuntu下安装uuid链接库 sudo apt-get install uuid-dev 1.2)CentOS yum install libuuid-d ...

  8. DELPHI7在WIN8和WIN10下安装和运行

    DELPHI7在WIN8下安装后可以打开运行,但发现设置断点DEBUG运行DLL工程时会卡死(IDE长时间无反应,不报错). DELPHI7在WIN10下安装后打开的时候会报错,无法运行. 以上两种情 ...

  9. 关于python下安装PIL库遇到的问题及解决办法

    关于python下安装PIL库遇到的问题及解决办法 关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd ...

随机推荐

  1. Hash模板

    ;//一般为靠近总数的素数 struct Hashtable { int x;//hash存的值 Hashtable * next; Hashtable() { next = ; } }; Hasht ...

  2. 2017.11.22 mysql数据库实现关联表更新sql语句

    比如有两张表,其中一张表某个字段的值要关联另一张表进行统计,就要用到mysql的update方法,并且left join另一张表进行联合查询. mysql关联表更新统计 sql语句如下: 代码如下 复 ...

  3. nuget打包

    [1.创建.nuspec文件] 在.csproj目录下运行命令 nuget spec [2.生成包nupkg] 在.csproj目录下运行命令 nuget pack xxxx.csproj [推送命令 ...

  4. MySQL游标(cursor) 定义及使用

    概念 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式. 用SQL语言从数据库中检索数据后,结果 ...

  5. GPU计算的后CUDA时代-OpenACC(转)

    在西雅图超级计算大会(SC11)上发布了新的基于指令的加速器并行编程标准,既OpenACC.这个开发标准的目的是让更多的编程人员可以用到GPU计算,同时计算结果可以跨加速器使用,甚至能用在多核CPU上 ...

  6. 修改SVN的地址

    方法 1:右键在工作复本的根目录上右键->TortoiseSVN->重新定位 (Relocate),然后修改URL就可以了,但最好先备份一下,据说这样的操作有一定的危险性(至今我没有发现) ...

  7. 【MYSQL笔记1】mysql的基础知识

    首先进去mysql.打开电脑命令提示符(cmd):输入mysql -uroot -p   代表的意思是使用ruser使用者root的方式,打开mysql,-p代表password,如果有的话,回车之后 ...

  8. tcp回显客户端发送的数据

    客户端: import socket tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcp_socket.connect ...

  9. opendaylight安装

    OpenDaylight安装 环境 jdk-1.8 maven 环境配置安装 Java环境 查看Java环境 java  -version 安装jdk-1.8 yum install java-1.8 ...

  10. 统计寄存器AX中1 的个数

    ;==================================== ; 统计寄存器AX中1 的个数 DATAS segment DATAS ends CODES segment START: ...