使用python将文件排队到winamp中的播放列表

2024-10-02 06:25:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让python将音乐文件排队到Winamp中。 我试过以下方法:

pywinamp

有些功能可以工作,但“添加到播放列表”不起作用

WACommand

同样,一些命令行开关可以工作,但加载文件不起作用

有人知道什么方法可以完成这个吗?我不是在寻找一个完整的控制器为winamp,只是一种方式,把文件推到播放列表在一个已经运行的实例。在

我使用的是winamp5.63、windows7x64和python2.7


Tags: 文件实例方法命令行功能方式控制器播放列表
3条回答

不太确定这是否是你要找的,但我希望它可以帮助。。。在

我找到了一个粗略的方法,那就是:

转到into Winamp,转到选项->首选项->文件类型,然后选中“双击时将文件排队”的框,然后接受首选项。在

完成后,下面的Python代码将从给定目录将20首(或while循环设置为多少)歌曲放入播放列表中。在

另外,如果您不希望歌曲是随机的,您可以将path变量指定为您选择的任何文件的文件路径

import os
import random
import dircache

i = 0
while i < 20: # change 20 to how ever many songs you want to generate
    # set your directory in line bellow
    dir = "C:\" 
    filename = random.choice(dircache.listdir(dir))
    path = os.path.join(dir, filename)
    os.startfile(path)
    i+=1

pywinamp可以正确地使用python2.7x86,但不能与python2.7x64一起使用。 以便。在

我在Windows8上使用64位的Python3pywinamp.py我可以添加文件到播放列表和播放文件。这是我的代码:

# Run winamp.exe
try:
    with open(os.devnull, 'wb') as devnull:
        devnull = open(os.devnull)
        winamp_path = 'C:\\Program Files\\Winamp\\winamp.exe'
        p = subprocess.Popen([winamp_path], stdout=devnull, stderr=devnull)
except OSError as e:
    # handle the exception
    pass

w = Winamp() # class from pywinamp.py
# Wait for app to start
''' For some reason i couldn't access __mainWindowHWND attribute of Winamp class so i added this line in __init__ method of Winamp class: self.wid = self.__mainWindowHWND. This way i know if winamp is open'''
while not w.wid:
    w = Winamp()
    time.sleep(2)

# Enqueue file in Winamp
w.enqueueFile(filepath.encode('utf-8')) # ctypes needs bytes type
# Get length of winamp playlist and set position on the last track
w.setPlaylistPosition(w.getListLength())
# Play song
w.play()

相关问题 更多 >

    热门问题