hs_wgh 发表于 2025-4-20 07:29

请教下vbs脚本和wmp的问题

Dim wmp
do
Set wmp = CreateObject("WMPlayer.OCX")
wmp.URL = "D:\OneDrive\000_10hz_0.8_540s_6h.mp3"
do until wmp.playState = 1
WScript.Sleep 1000
loop
loop

以上是自己做的一个脚本,后台无界面播放一个音频文件(人耳听不到的低频),防止音箱休眠(音箱插电模式下也休眠真无语)。
但这个脚本必须要保证系统里有wmp旧版才能正常生效,现在想问下如何在精简wmp旧版的情况下,能不能通过单独注册什么ocx、dll文件的方法来让脚本正常运行。

da_nao_yan 发表于 2025-4-20 08:34

音箱休眠是系统问题,全新安装最新版本的24h2或者去年版本的23h2应该就没问题了。
旧版wmp在系统可选组件里可以在线安装的,占用22.8mb。

he852100 发表于 2025-4-20 10:37

注册wmp.dll得到com接口,wmploc放到system32

tedrick 发表于 2025-4-20 11:34

库可能不单独生效吧,可以用别的轻巧的播放器?不过还是找到休眠的具体原因比如驱动、音频服务手动之类的解决好些。。。这个方法强迫症受不了哈

hs_wgh 发表于 2025-4-20 18:41

da_nao_yan 发表于 2025-4-20 08:34
音箱休眠是系统问题,全新安装最新版本的24h2或者去年版本的23h2应该就没问题了。
旧版wmp在系统可选组件里 ...

不是,战鼓便携音箱,很多带电池便携音箱都这样,一段时间没收到音频信号会休眠,然后收到信号又会自动工作,但检测到启动有个2秒的时间,而且有启动有音量阀值要求,就是如果把声音调到特别小时没法让音箱启动。

hs_wgh 发表于 2025-4-20 18:42

da_nao_yan 发表于 2025-4-20 08:34
音箱休眠是系统问题,全新安装最新版本的24h2或者去年版本的23h2应该就没问题了。
旧版wmp在系统可选组件里 ...

我用过的哈曼琉璃3、JBL战鼓、天猫精灵都是这种设计。

qq2348227 发表于 2025-4-20 19:03

这不是win11的一个组件嘛~


dism 给添加进去就是了

hs_wgh 发表于 2025-4-20 21:30

qq2348227 发表于 2025-4-20 19:03
这不是win11的一个组件嘛~




我知道,WMP系统本身就自带,但因为从来用不上,所以一直都精简的,然后捣鼓上面脚本的时候发现,精简了脚本就运行不了。就是想问精简WMP的情况下能不能通过注册一个库文件来实现。

he852100 发表于 2025-4-20 22:09

本帖最后由 he852100 于 2025-4-20 22:12 编辑

hs_wgh 发表于 2025-4-20 21:30
我知道,WMP系统本身就自带,但因为从来用不上,所以一直都精简的,然后捣鼓上面脚本的时候发现,精简了 ...
把wmp。dll也”精简“了?那叫删除。并且精简后你还想调用依赖wmp。dll的WMPlayer.OCX,那肯定不会成功。

hs_wgh 发表于 2025-4-20 23:04

he852100 发表于 2025-4-20 22:09
把wmp。dll也”精简“了?那叫删除。并且精简后你还想调用依赖wmp。dll的WMPlayer.OCX,那肯定不会成功。 ...

对,我的意思就是把WMP组件精简,然后把需要的DLL或OCX之类文件单独备份出来注册到系统行不行。

he852100 发表于 2025-4-20 23:33

hs_wgh 发表于 2025-4-20 23:04
对,我的意思就是把WMP组件精简,然后把需要的DLL或OCX之类文件单独备份出来注册到系统行不行。 ...

3楼不是已经说了?测试环境:可选功能中删除wmp。你也可以用别的比如Windows Runtime api之类的东西播放声音.
页: [1]
查看完整版本: 请教下vbs脚本和wmp的问题