gpt4 book ai didi

python - 在 Python 中将 float 列表转换为缓冲区?

转载 作者:太空狗 更新时间:2023-10-30 00:42:13 24 4
gpt4 key购买 nike

我正在玩弄 PortAudio 和 Python。

data = getData()
stream.write( data )

我希望我的流播放以 Float32 值表示的声音数据。因此我使用了以下函数:

def getData():
data = []
for i in range( 0, 1024 ):
data.append( 0.25 * math.sin( math.radians( i ) ) )
return data

不幸的是,这不起作用,因为 stream.write 想要传入一个缓冲区对象:

TypeError: argument 2 must be string or read-only buffer, not list

所以我的问题是:如何将我的 float 列表转换为缓冲区对象?

最佳答案

import struct

def getData():
data = []
for i in range( 0, 1024 ):
data.append( 0.25 * math.sin( math.radians( i ) ) )
return struct.pack('f'*len(data), *data)

关于python - 在 Python 中将 float 列表转换为缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1229202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com