我想使用Java,Javascript,Python或使用Windows命令行将本地WAV文件复制到剪贴板。将WAV文件复制到剪贴板
基本上我可以通过任何方式将WAV文件复制到我的剪贴板,但这些都是我的首选语言。最好是Javascript。
请帮忙!
谢谢!
我想使用Java,Javascript,Python或使用Windows命令行将本地WAV文件复制到剪贴板。将WAV文件复制到剪贴板
基本上我可以通过任何方式将WAV文件复制到我的剪贴板,但这些都是我的首选语言。最好是Javascript。
请帮忙!
谢谢!
你可以使用pywin32库为Python上Windows.Here是一些代码,将文件复制到剪贴板,然后从剪贴板阅读它:
import win32clipboard
with open('input.wav','rb') as input:
wav = input.read()
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32clipboard.CF_WAVE, wav)
file_from_clipboard = win32clipboard.GetClipboardData(win32clipboard.CF_WAVE)
with open('output.wav','wb') as output:
output.write(file_from_clipboard)
如果要插入到剪贴板只路径,你可以这样做:
path = 'Path to wav file'
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText(path, win32clipboard.CF_TEXT)
#Get text from clipboard
path_from_clip = win32clipboard.GetClipboardData(win32clipboard.CF_TEXT)
print path_from_clip
或者更简单地说,你可以使用pyperclip。 Pyperclip是用于访问Python中剪贴板的跨平台模块:
import pyperclip
pyperclip.copy('Path to wav file')
#Get text from clipboard
print pyperclip.paste()
感谢您的帮助! pyperclip和CF_TEXT方法都不会将文件路径的文本复制到剪贴板上,而是以我想要的方式工作,虽然在某些情况下可能会有用。 CF_WAVE方法还没有为我工作,但我仍然试图玩弄它,当我有时间... – blisstdev
嘿,所以我终于有机会玩这个一堆,我仍然不能让它工作。基本上,我检查剪贴板查看器中复制到剪贴板的内容,当我在本地执行它时(即Ctrl + C),我得到类似于“E:\ DOCUME〜1 \ PROGRA〜1 \ Python \ PARTIALWAVEFILENAME〜1”的内容。 WAV“,而当我用字符串文件缓冲区(wav.open('path')。read())或bytearray(bytearray(wav.open('path')。read()) “信息是二进制格式的,剪贴簿查看器不能显示这种格式,”我不能将它粘贴到任何地方,任何其他想法? – blisstdev
我想将这个文件粘贴到不同的应用程序,所以我想知道它是否有东西与剪贴板所有权有关?还是与缓冲区对象的“句柄”有关。 http://docs.activestate.com/activepython/2.5/pywin32/win32clipboard__SetClipboardData_meth.html – blisstdev
是否要复制Wave文件(二进制数据)的内容或对文件本身的引用...? – MadProgrammer
我相信我想要引用该文件。基本上我想复制一个文件到我的剪贴板,然后在Ableton Live中模拟一个“Ctrl + V”键击,然后让它实际上粘贴一个WAV文件到Live中。我不确定,但我认为有一点我试图复制原始WAV数据,但它不起作用 – blisstdev
@blisstdev:你有没有按照我的建议去做?什么不行? – NorthCat