呵呵,是哪个帖子呢?请指教。看来我提问的方式不好,有待于改进。谢谢提醒。 回复 16# lxsh010
没有,非常好,只是我淡腾多言,是BOB的一个推广语言建议的一个帖子 回复 14# 虫子樱桃
虫子大大,谢谢您。我想弄个更好操作一点,就是可以把MP3文件,拖到GUICtrlCreateInput里,然后读取 ,共有四个首限制。运行开始合并,则运行 那个 DOS命令,进行合并。。可我尝试了一下,就是不行,不知_RunDOS("copy /b"&$MPin_Dropped01&"+ "&$MPin_Dropped02&"' '"&$Mpinlujing&"/合并.MP3""")
不知上面这句代码哪儿错了。;~ #include <WindowsConstants.au3>
;~ #include <file.au3>
;~ #include <array.au3>
;~ #include <ButtonConstants.au3>
;~ #include <EditConstants.au3>
;~ #include <TabConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Process.au3>
Opt("GUIOnEventMode", 1) ;Gui事件响应模式
Opt("GUIEventOptions", 1) ;修改特殊的 Gui 函数的返回值类型 1=立即通知
;~ Global $IEHCDesp="D:\MP3合并文"
$MPinForm = GUICreate("MP3文件合并工具", 430, 460, -1, -1,-1, 0x00000018);
GUICtrlCreateGroup("选择歌曲", 10, 10, 410, 190)
GUICtrlCreateLabel("第1首:",20, 40, 50, 22, 0, "")
Global $MPinInput1 = GUICtrlCreateInput("", 60, 35, 280, 22) ;拖进文件的框框
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetTip(-1, "先清空,再拖拽到我这边来")
Global $MPinButton1 = GUICtrlCreateButton("浏览(&V)", 350, 33, 60, 25)
GUICtrlCreateLabel("第2首:",20, 80, 50, 22, 0, "")
Global $MPinInput2 = GUICtrlCreateInput("", 60, 75, 280, 22) ;拖进文件的框框
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetTip(-1, "先清空,再拖拽到我这边来")
Global $MPinButton2 = GUICtrlCreateButton("浏览(&V)", 350, 73, 60, 25)
GUICtrlCreateLabel("第3首:",20, 120, 50, 22, 0, "")
Global $MPinInput3 = GUICtrlCreateInput("", 60, 115, 280, 22) ;拖进文件的框框
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetTip(-1, "先清空,再拖拽到我这边来")
GUICtrlCreateLabel("第4首:",20, 160, 50, 22, 0, "")
Global $MPinInput4 = GUICtrlCreateInput("", 60, 155, 280, 22) ;拖进文件的框框
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetTip(-1, "先清空,再拖拽到我这边来")
Global $MPinButton5 = GUICtrlCreateButton("开始合并(&V)", 150, 260, 80, 25)
GUICtrlSetOnEvent(-1,"_Mpinbutton5")
Global $MPinInput5 = GUICtrlCreateInput(@DesktopDir, 80, 225, 230, 20) ;IE缓存保存到目录路径
$IEHCButton3 = GUICtrlCreateButton("保存到", 20, 223, 55, 25)
;~ GUICtrlSetOnEvent(-1, "_IEHCKeep")
$IEHCButton4 = GUICtrlCreateButton("打开(&O)", 315, 223, 55, 25)
;~ GUICtrlSetOnEvent(-1, "_IEHCopenFile")
GUISetOnEvent($GUI_EVENT_CLOSE, "_mp3inexit")
GUISetOnEvent($GUI_EVENT_DROPPED, "_MpinDropped")
GUISetState(@SW_SHOW)
;~ GUISetState(@SW_SHOW,$MPinForm)
While 1
Sleep(500)
WEnd
Func _mp3inexit()
Exit
EndFunc
Func _MpinDropped()
EndFunc
Func _Mpinbutton5()
$MPin_Dropped01 = GUICtrlRead($MPinInput1) ;读取第一首MP3
$MPin_Dropped02 = GUICtrlRead($MPinInput2);读取第二首MP3
$MPin_Dropped03 = GUICtrlRead($MPinInput3)
$MPin_Dropped04 = GUICtrlRead($MPinInput4)
$Mpinlujing = GUICtrlRead($MPinInput5) ;这是读取路径
_RunDOS("copy /b"&$MPin_Dropped01&"+ "&$MPin_Dropped02&"' '"&$Mpinlujing&"/合并.MP3""")
;~ MsgBox(64, '温馨提示', $MPin_Dropped01, 3, $MPinForm)
;~ RunWait(@ComSpec&' /c copy /b *.mp3 Joined.mp3',$cmdline,@SW_HIDE)
;~ _RunDOS(copy /b d:\a.mp3+d:\b.mp3 e:\c.mp3)
EndFunc
回复 13# lxsh010
按照你那样说的 如何控制播放? 合并的意义就是为了缩小?或者变成一个文件?
还有音质的问题就更别提了 回复 19# Ycxw2008
就是合并成一个文件。没有其他功能。音质也不作考虑。 本帖最后由 Ycxw2008 于 2012-3-5 15:05 编辑
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Process.au3>
Opt("GUIEventOptions", 1)
Opt("GUIOnEventMode", 1)
Global $MPinInput, $MPinButton
$MPinForm = GUICreate("MP3文件合并工具", 430, 460, -1, -1, -1, 0x00000010);
GUISetOnEvent(-3, "_mp3inexit")
GUICtrlCreateGroup("选择歌曲", 10, 10, 410, 190)
$y = 0
For $i = 1 To 4
$y += 40
GUICtrlCreateLabel('第' & $i & '首', 20, $y, 50, 22, 0)
$MPinInput[$i - 1] = GUICtrlCreateInput('', 60, $y - 5, 280, 22)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$MPinButton[$i - 1] = GUICtrlCreateButton("浏览(&V)", 350, $y - 7, 60, 25)
GUICtrlSetOnEvent(-1, "_Mpinbutton5")
Next
$MPinInput = GUICtrlCreateInput(@DesktopDir, 80, 225, 230, 20)
$MPinButton = GUICtrlCreateButton("开始合并(&V)", 150, 260, 80, 25)
GUICtrlSetOnEvent(-1, "_Mpinbutton5")
GUISetState()
While 1
Sleep(500)
WEnd
Func _mp3inexit()
Exit
EndFunc ;==>_mp3inexit
Func _Mpinbutton5()
Local $NUM = -1
For $x = 0 To UBound($MPinButton) - 2
If @GUI_CtrlId = $MPinButton[$x] Then $NUM = $x
Next
Switch $NUM
Case 0 To 3
GUICtrlSetData($MPinInput[$NUM], FileSaveDialog("", "", "mp3 (*.mp3)"))
EndSwitch
If @GUI_CtrlId = $MPinButton Then
Local $text = ""
For $x = 0 To UBound($MPinInput) - 2
If GUICtrlRead($MPinInput[$x]) <> "" Then
$text &= '"' & GUICtrlRead($MPinInput[$x]) & '"+'
EndIf
Next
If $text <> "" Then
$text = 'copy /b ' & StringTrimRight($text, 1) & ' "' & GUICtrlRead($MPinInput) & '\合并.mp3"'
RunWait('"' & @ComSpec & '" /c ' & $text, '', @SW_HIDE)
MsgBox(0, '', '合并成功')
ShellExecute(@DesktopDir)
EndIf
EndIf
EndFunc ;==>_Mpinbutton5
回复 21# Ycxw2008
谢谢兄弟的帮忙。不胜感激。 回复 22# lxsh010
呵呵也只是帮个小忙而已,其实用listview或list都比inputbox方便 回复 21# Ycxw2008
呵呵,我合并好后听了一下,后面的歌曲变调的 回复 24# zldfsz
哪种方法合并? 回复 25# Ycxw2008
21楼的,我将两首歌曲合并后前一首没听出变化,可第二首变调了,节奏变慢了 回复 26# zldfsz
你细看我的回复就知道了,我不建议楼主这样合并的,你看我前面的gif就知道了
我都是那样合并的 呵呵,只是测测代码,那软件看起来不错哦 回复 27# Ycxw2008
谢谢提醒,两种方法都记下来。
页:
1
[2]