我正在尝试使用the Snack Sound Toolkit来操纵声音,但是当我尝试运行他们的演示代码时,我收到了一个错误。我按照自述文件中的安装说明进行操作。
CODE:
#! /usr/bin/env python
from Tkinter import *
from tkSnack import *
root = Tkinter.Tk()
initializeSnack(root)
s = Sound(load='ex1.wav')
c = SnackCanvas(height=100, width=400)
c.pack()
c.create_waveform(0, 0, sound=s, width=400)
Button(root, text='Exit', command=root.quit).pack()
root.mainloop()
ERROR:
Traceback (most recent call last):
File "G:\workspace\voice test\MinWave.py", line 8, in <module>
initializeSnack(root)
File "C:\Program Files\Python\lib\tkSnack.py", line 21, in initializeSnack
Tkroot.tk.call('eval', 'package require snack')
_tkinter.TclError: couldn't load library "C:/Program Files/Python/tcl/snacklib/libsnack.dll": invalid argument
我正在使用python 2.7.6运行Windows 7 x64
谢谢,洛根
答案 0 :(得分:1)
我遇到了与DLL(不同的DLL)完全相同的问题。我发现inpspectExd中提到的this thread工具非常有用,我认为它帮助我弄清楚出了什么问题......
除了很酷之外,inspectExe工具让我看到我的DLL是32位而python发行版是64位。它还有一个测试加载功能,所以我知道DLL是一个很好的,可以加载它的所有依赖...
我的DLL是32位,我的Python发行版是64位而64-bit python can't load a 32-bit DLL ... doh!
我非常怀疑我的问题是这个64/32不匹配......仍然要实际验证这一点。也许你的问题是相同的64/32问题??
答案 1 :(得分:0)
你“安装”小吃了吗?据我记忆,它需要手动复制文件。
Snack v2.2.10 通过将tkSnack.py移动到C:\ Python23 \ Lib \\ r \ n \ r \ n来安装Snack库 和snacklib \到C:\ Python23 \ tcl \(根据需要修改)。 可以在python-demos.txt
中找到演示的说明
你的代码在这里运行正常。 Im Win7 x64 2.7.6以及