首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WAV文件(.wav)和WAVE音频文件(.wave)有什么不同?

WAV文件(.wav)和WAVE音频文件(.wave)有什么不同?
EN

Stack Overflow用户
提问于 2020-06-01 23:14:57
回答 1查看 500关注 0票数 0

我正在尝试使用PyAudio库在python项目中通过我的USB音频接口录制吉他音频。当我使用Audacity等音频应用程序保存音频时,我得到了一个WAV (.wav)文件,该文件可以使用Groove music、windows media player等应用程序播放,并且我可以根据需要处理这些文件。

但是,现在我需要在项目中实现录制,当我使用PyAudio录制吉他输入时,它将音频保存为WAVE audio File (.wave)文件,该文件不能在程序中操作,也不能使用playsound库播放。当我试图从我的文件管理器播放它时,它只能使用Itunes播放,而Groove music和windows media player不支持它。

只要我在网上查看,就会将WAVE和WAV文件描述为同一件事,所以我不确定为什么会出现这个问题。我的代码如下所示。任何帮助或建议都将不胜感激!

代码语言:javascript
复制
import pyaudio
import wave
from playsound import playsound


CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "live_guitar_input.wave"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)

print("NOW RECORDING")

frames = []
for i in range(0, int(RATE/CHUNK*RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print("Finished Recording")

stream.stop_stream()
stream.close()
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()
playsound(WAVE_OUTPUT_FILENAME)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-02 17:34:32

正如O.P.所指出的,"wave“和"wav”是一回事。但是文件管理器应用程序不识别wave扩展名。解决方案就是将"file.wave“重命名为"file.wav”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62135302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档