通过Microsoft Media Encoder用VBScript提取视频中的音频

单独文件转换的模板

Option Explicit

Private W_avEcFiles
' ------------------------------------------------------------

W_avEcFiles = Array("{文件}", "{文件}", "{文件}")

Private Const C_ScriptEng = "cscript.exe "
Private Const C_EcVbs = "C:\Program Files\Windows Media Components\Encoder\wmcmd.vbs"
Private Const C_EcDir = "{目录}"
Private Const C_EcExt = "rm"
Private Const C_EcAuthor = "{作者}"

' ------------------------------------------------------------

Call RunEncodeAll

Sub RunEncodeAll()
Dim i, vLen

vLen = UBound(W_avEcFiles) + 1
Call WScript.Echo(C_EcDir & " (" & vLen & "个文件)")
For i = 0 To vLen - 1
Call RunEncode(W_avEcFiles(i))
Next
Call WScript.Echo("转换结束。")
End Sub

Sub RunEncode(fvFile)
Dim vCmd, oShell

Set oShell = CreateObject("Wscript.Shell")
vCmd = C_ScriptEng & " """ & C_EcVbs & """ " & _
"-a_mode 2 -a_setting Q10_48_2_24 -audioonly " & _
"-input """ & C_EcDir & "\" & fvFile & "." & C_EcExt & """ " & _
"-output """ & C_EcDir & "\" & fvFile & ".wma"" " & _
"-title """ & fvFile & """ -author """ & C_EcAuthor & """"
Call WScript.Echo("转换为音频: " & fvFile)
Call oShell.Run(vCmd, 1, True)
End Sub

连续编号文件转换的模板

Option Explicit

Private Const C_ScriptEng = "cscript.exe "
Private Const C_EcVbs = "C:\Program Files\Windows Media Components\Encoder\wmcmd.vbs"


' ------------------------------------------------------------
Private Const C_EcDir = "{目录}"
Private Const C_EcExt = "rm"
Private Const C_EcAuthor = "{作者}"
Private Const C_EcTitle = "{标题正文}"
Private Const C_EcStart = {起始编号}
Private Const C_EcEnd = {结束编号}
Private Const C_EcNumlen = {编号长度}
' ------------------------------------------------------------

Call RunEncodeAll

Sub RunEncodeAll()
Dim i, vLen

vLen = C_EcEnd - C_EcStart + 1
Call WScript.Echo(C_EcDir & " (" & vLen & "个文件)")
For i = C_EcStart To C_EcEnd
Call RunEncode(C_EcTitle & ZeroStr(i, C_EcNumlen))
Next
Call WScript.Echo("转换结束。")
End Sub

Sub RunEncode(fvFile)
Dim vCmd, oShell

Set oShell = CreateObject("Wscript.Shell")
vCmd = C_ScriptEng & " """ & C_EcVbs & """ " & _
"-a_mode 2 -a_setting Q10_48_2_24 -audioonly " & _
"-input """ & C_EcDir & "\" & fvFile & "." & C_EcExt & """ " & _
"-output """ & C_EcDir & "\" & fvFile & ".wma"" " & _
"-title """ & fvFile & """ -author """ & C_EcAuthor & """"
Call WScript.Echo("转换为音频: " & fvFile)
Call oShell.Run(vCmd, 1, True)
End Sub

Function ZeroStr(fvNum, fvLen)
Dim vLen, vNumStr, i

vNumStr = CStr(fvNum)
vLen = Len(vNumStr)
For i = vLen + 1 To fvLen
vNumStr = "0" & vNumStr
Next
ZeroStr = vNumStr
End Function

作者: 闹博 [nowbor]

波波坡原创文章 链接:http://www.bobopo.com/article/code/vbs_media_encoder.htm

标签: ,

关键词: Microsoft Media Encoder, 提取音频, 视频, VBScript, 单独文件, 成批文件

创建日期: 2008-01-01

文库 微博 博客 作品 首页