0
CHUNK = 1024

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

“CHUNK”是什么意思?如果数据等于wf.readframes(CHUNK)为什么它会再次读取每个while?我不应该只写data流然后关闭它吗?

4

1 回答 1

0

CHUNK是 1024,因此代码可以替换为:

data = wf.readframes(1024)

while data != '':
    stream.write(data)
    data = wf.readframes(1024)

这是正在发生的事情:

  1. wf从数据中读取 1024 个字节。
  2. 如果数据不为空,开始循环:
    1. 将最近的字节写入stream.
    2. 从 读取接下来的 1024 个字节wf
    3. 重新开始循环。

所以,它基本上只是写出包含在wf. 碰巧它以 1024 字节的段(由 定义CHUNK)读取它。

于 2013-06-13T18:10:42.210 回答