В папке с программой лежит файл Ring05.wav размером 1107 килобайт
Код программы из обучающей статьи:
import wave
import struct
source = wave.open("Ring05.wav", mode="rb")
dest = wave.open("out.wav", mode="wb")
dest.setparams(source.getparams())
# найдем количество фреймов
frames_count = source.getnframes()
data = struct.unpack("<" + str(frames_count) + "h",
source.readframes(frames_count))
# собственно, основная строка программы - переворот списка
newdata = data[::-1]
newframes = struct.pack("<" + str(len(newdata)) + "h", *newdata)
# записываем содержимое в преобразованный файл.
dest.writeframes(newframes)
source.close()
dest.close()
Из вывода интерпретатора:
Код:
line 12, in <module>
data = struct.unpack("<" + str(frames_count) + "h",
struct.error: unpack requires a buffer of 566272 bytes
566 килобайт, разве это много? В чём тут проблема?