首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文件夹中逐一播放歌曲?使用WMPlayer.OCX

如何在文件夹中逐一播放歌曲?使用WMPlayer.OCX
EN

Stack Overflow用户
提问于 2021-02-27 13:11:45
回答 1查看 53关注 0票数 0

我通过谷歌搜索得到了这个代码,我尝试过这个代码,但是它只播放我们给出的歌曲。

我需要代码来播放所有的歌曲在文件夹中,一个一个,直到我停止。

代码语言:javascript
复制
import time
from win32com.client import Dispatch

songs_dir='G:\songs\My Fav'
songs = os.listdir(songs_dir)
mp = Dispatch("WMPlayer.OCX")
tune = mp.newMedia("{}\\{}".format(songs_dir,songs[2]))
mp.currentPlaylist.appendItem(tune)
mp.controls.play()
time.sleep(1)
mp.controls.playItem(tune)
print("Playing music")
a=input("Press Enter to stop playing")
mp.controls.stop()```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-27 14:22:07

  • 删除input,因为它暂停了脚本
  • 使用time.duration等待歌曲完成

代码:

代码语言:javascript
复制
import time
import glob
from win32com.client import Dispatch

for file in glob.glob(r'C:\Users\MUSIC\*'):
    print(f'Playing: {file}')
    mp = Dispatch('WMPlayer.OCX')
    tune = mp.newMedia(file)
    mp.currentPlaylist.appendItem(tune)
    mp.controls.play()
    time.sleep(1)
    mp.controls.playItem(tune)
    time.sleep(int(tune.duration))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66399150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档