我试图从.wav文件中读取数据并将其存储在数组中:
out = struct.unpack_from("%dh" % num_frames * num_channels, frames)
self.data = array(out)
当我尝试这个时,我得到错误:
self.data = array(out)
TypeError: must be char, not tuple
导致此错误的原因是什么? out
中的所有值都不是同一类型吗?难道它们都不是负整数或正整数吗?
答案 0 :(得分:1)
如果你使用array class,构造函数会接受两个参数,第一个是表示类型代码的字符。
所以你想要
from array import array
out = <...>
self.data = array('b', out)
或者文档中列出的其他类型代码之一,而不是'b'
。
或者您可以使用numpy.array,在这种情况下,您的代码应按原样运行:
from numpy import array
out = <...>
self.data = array(out)