批量或VBS |如何检查音乐文件的比特率?

批量或VBS |如何检查音乐文件的比特率?,第1张

概述批量或VBS | 如何检查音乐文件的比特率?

我需要检查一个音乐文件的比特率,我需要以192000(对于192kbps),320000(对于32kbps)或(+)3000000的数字来接收数字,对于wav和未压缩的音乐。 我的意思是我需要确切的数字,如果一个MP3是VBR和压缩在194 kbps,我需要194000号码,而不是当前的CBR 192000。

我是用MEDIAINFO (x64)Cli程序做这个工作,在批处理:

for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "BitRate=%%~%%"

但我有+35.000文件检查,然后comprobation的所有文件是超过2个小时的时间…

我需要一个简单的代码来检查它,而不是一个程序,它需要执行它,并浪费了很多时间…

batch file:当另一个.xlsx文件存在于同一文件夹中时如何重命名.xls文件?

通过batch filesearch并replace多个xml文件中的多个string

batch file:处理alphbetical(数字也许>)顺序的文件

BATCH – 如何closures重新启动? 或保护closures?

使用batch file从文本文件中提取string

代码需要至less识别这个文件types(我的意思是内部比特率)非常重要: aifF,FLAC,M4A,MP3,OGG,WAV,WMA。

而且不能成为Ruby或Python的代码,因为我需要“编译”它,并确定什么时候“编译”浪费了很多时间来检查很多文件(导致解压缩.exe的解压缩)。

更多信息:我想将结果存储在一个文件中,然后做一个比较,只有新添加的文件,但我不能存储结果进行比较,在下一次运行,因为有时我需要更换选中的文件(旧文件)。 顺便说一句,我也不能处理这个文件的date戳。 需要是一个独特的程序来检查所有的文件,永远(或这是我认为…)。

我尝试了另一种方法来检查比特率,我真的确定这是我所需要的,但我不能让它像我想要的那样运行…

这个VBS使用DBPowerAmp程序API,并显示一个窗口的信息(包括比特率),但与一个窗口,我什么都不能做…也许,如果我可以redirectwwwwwwwwwindows信息文本文件…然后通过阅读文本文件中的比特率信息设置variables“比特率”…但我不知道该怎么做:

' create shell object Set WshShell = CreateObject("WScript.Shell") ' Create dMC Object Set dMC = CreateObject("dMCScripting.Converter") 'Read audio propertIEs of a file Dim AudioProps AudioProps = dMC.AudioPropertIEs("C:test.aac") Call WshShell.Popup(AudioProps,"Returned Audio PropertIEs",0)

我已经尝试将该代码“转换”为批处理,就像这样,但是不要运行,我什么也得不到:

@echo off rundll32.exe dMCScripting.Converter.AudioPropertIEs("C:Test.aac") > test.txt exit

编辑 :哦,我也试过了,但浪费比mediainfo更多的时间:

mplayer "test.aac" -frames 0 | findstr "kbit"

我会等人来帮助我,Thankyou读我的问题!

为了给你一个关于Ruby是什么样子的想法,audioinfo只是许多类库中的一个。

require "audioinfo" AudioInfo.open("R:/mp3/j/John Coltrane - I Think.mp3") do |info| puts info.to_h end =>{"artist"=>"John Coltrane","album"=>"John Coltrane","Title"=>"I Think","tracknum"=>nil,"date"=>nil,"length"=>272,"bitrate"=>128}

这里的一个VBS脚本,与MP3一起工作,其余的我没有尝试

Set objplayer = CreateObject("WMPlayer.OCX" ) Set colMediaCollection = objplayer.mediaCollection Set colMedia = colMediaCollection.getAll() For i = 0 to colMedia.Count - 1 Set objItem = colMedia.Item(i) Wscript.Echo objItem.name & " : " & objItem.GetItemInfo("bitrate") Next

请参阅http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/olE~COM~ADO~CDO~ADSI~LDAP+Get~Audio~file~information.txt获取您可以使用的属性。

总结

以上是内存溢出为你收集整理的批量或VBS | 如何检查音乐文件的比特率?全部内容,希望文章能够帮你解决批量或VBS | 如何检查音乐文件的比特率?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1156881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存