【发布时间】:2015-02-26 19:52:54
【问题描述】:
我正在尝试使用 Python 中的本机 wave 模块编写一个 wave 文件,但似乎没有任何文档说明 wave.writeframesraw(data) 的“数据”字段是什么意思,甚至是什么帧是。由于计算机上的安装问题,我无法使用任何外部模块或库。当我尝试使用在 youtube 上找到的以下示例时,出现错误。
data = [math.sin(x*2*math.pi*440/44100) for x in range(44100)]
#from tutorial:
BinStr = "" #create a binary string
for i in data:
BinStr = BinStr + str(struct.pack('h', round(i*20000)))
file.writeframesraw(BinStr)
**file.writeframesraw(BinStr)
File "C:\Python34\lib\wave.py", line 414, in writeframesraw
data = memoryview(data).cast('B')
TypeError: memoryview: str object does not have the buffer interface**
【问题讨论】:
-
BinStr = "" #create a binary string这很令人担忧,这是来自使用 python2 的教程吗?鉴于这是 python 3,我想这应该是bytes或类似的。
标签: python audio buffer typeerror wave