Hallo^^
ja, ich schon wieder =/
Ich hab diesen Code:
[autoit]
#include <GUIConstants.au3>
#include<Guilistview.au3>
#include<array.au3>
#include<math.au3>
#include<Inet.au3>
#include<string.au3>
#Region ### START Koda GUI section ### Form=
$Multidownloader_1 = GUICreate("Multidownloader", 665, 486, 194, 126)
$ListView1 = GUICtrlCreateListView("Link|Portal|Ausgabeort|Ausgabename|Format", 9, 17, 647, 280)
GUICtrlSendMsg(-1, 0x101E, 0, 220)
GUICtrlSendMsg(-1, 0x101E, 1, 50)
GUICtrlSendMsg(-1, 0x101E, 2, 200)
GUICtrlSendMsg(-1, 0x101E, 3, 123)
GUICtrlSendMsg(-1, 0x101E, 4, 50)
$LINK = GUICtrlCreateInput("MTV.video / Youtube-Link hier eingeben", 8, 312, 610, 21)
$Input1 = GUICtrlCreateInput("Ausgabetitel hier eingeben", 9, 345, 192, 21)
$Ausgabeort = GUICtrlCreateButton("Ausgabeort", 219, 344, 202, 21)
$MP3 = GUICtrlCreateCombo("MP3", 431, 342, 186, 25)
GUICtrlSetData(-1, "FLV|WMV|AVI|MP4|")
$Download = GUICtrlCreateGroup("Download hinzufügen", 4, 296, 652, 108)
$Button1 = GUICtrlCreateButton("Download hinzufügen", 8, 369, 193, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("Liste downloaden", 8, 409, 648, 25)
$Label1 = GUICtrlCreateLabel("Info", 9, 440, 610, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Guictrlsetstate($button1 , $gui_disable)
guictrlsetstate($button2, $gui_disable)
$zeilenzahl= _GUICtrlListView_GetItemCount($listview1)
$portal= ""
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $link
$linkread= guictrlread($link)
If $linkread= "" Then
Msgbox(16, "Fehler", "Bitte gib einen Link ein")
endif
If StringRegExp($linkread, "^(?:http:\/\/)*www\.mtv\.de\/videos") Then
$portal= "mtv"
Else
Msgbox(16,"Fehler","Der link ist NICHT von MTV/video" & @CRLF)
$portal= ""
EndIf
Case $ausgabeort
$OUtPUTFILE=Fileselectfolder("Ausgabeort", "Eigene Dateien")
If $outputfile= "arbeitsplatz" Then
Msgbox(16, "Fehler", "Du kannst keine Datei auf dem Arbeitsplatz speichern")
else
guictrlsetstate($button1, $gui_enable)
endif
case $button1
$ausgaberead= guictrlread($input1)
$formatauswahl= guictrlread($mp3)
If $portal="" or $outputfile= "" Then
Msgbox(0, "Fehler", "Gib einen gültigen Link an!")
else
guictrlcreatelistviewitem($linkread & "|" &$portal & "|" & $outputfile & "|" & $ausgaberead & "|" & $formatauswahl, $listview1)
guictrlsetstate($button2, $gui_enable)
GUICtrlSetData($link, "MTV.video / Youtube-Link hier eingeben")
Guictrlsetdata($input1, "Ausgabetitel hier eingeben")
guictrlsetstate($button1, $gui_disable)
$aktuellezeilenzahl=$zeilenzahl + 1
endif
case $button2
mtvdownload()
EndSwitch
WEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Funktionen;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit][autoit][/autoit][autoit]Func mtvdownload()
$zeilenlink= ControlListView ( "", "", $listview1, "gettext")
$url1 = "http://de.esperanto.mtvi.com/www/xml/flv/flvgen.jhtml?vid="
[/autoit][autoit][/autoit][autoit]$url2 = "&hiLoPref=hi"
[/autoit][autoit][/autoit][autoit]$Quelltext = _INetGetSource($zeilenlink)
[/autoit][autoit][/autoit][autoit]$sStart = 'var so = new SWFObject("http://media.mtvnservices.com/mgid:uma:video:mtv.de:'
[/autoit][autoit][/autoit][autoit]$sEnde = '",'
[/autoit][autoit][/autoit][autoit]$string = _StringBetween($Quelltext, $sStart, $sEnde)
[/autoit][autoit][/autoit][autoit]$adresse = $url1 & $string[0] & $url2
[/autoit][autoit][/autoit][autoit]$Quelltext2 = _INetGetSource($adresse)
[/autoit][autoit][/autoit][autoit]$string2 = _StringBetween($Quelltext2, '<src>', '</src>')
$ausgabetitel= ControlListView("", "", $listview1, "gettext", 1, 4)
$mp3zieladresse= controllistview("", "", $listview1, "gettext", 1, 3)
$tempadresse= @Scriptdir & "\video.flv"
$zieladresse= $mp3zieladresse & "\" & $ausgabetitel & ".mp3"
Guictrlsetdata($label1, "Video wird als" & $tempadresse & "heruntergeladen")
inetget($string2[0], $tempadresse,"",0)
Guictrlsetdata($label1, "Video wird als" & $tempadresse & "heruntergeladen")
Guictrlsetdata($label1, "Video wurde zu MP3 konvertiert")
$ffmpeg= @scriptdir & "\ffmpeg.exe"
If winexists($ffmpeg) Then
winsetstate($ffmpeg,"",2)
endif
RunWait('ffmpeg.exe -i "' & $tempadresse & '"' & ' -y "' & $zieladresse & '"')
Guictrlsetstate($label1, "Fertig!" & $ausgabetitel& "ist ab jetzt in" & $mp3zieladresse & "als MP3 gespeichert")
Guictrlsetstate($button1,$gui_enable)
_GUICtrlListView_DeleteItem($listview1, 1)
endfunc
wie immer chaotisch^^
Die Flash-datei wird korrekt runtergeladen. Sie wird auch in Mp3 konvertiert.
nur der Dateiname und der Ausgabeort stimmt dann letztendlich nicht.
Ergo: bei
$ausgabetitel= ControlListView("", "", $listview1, "gettext", 1, 4)
$mp3zieladresse= controllistview("", "", $listview1, "gettext", 1, 3)
muss ich was falsch gemacht haben. aber ich weiß einfach nicht, wo der fehler liegt.
wahrscheinlich bei Option1 & 2 von dem controllistview---- aber ich kriegs net hin ![]()
Am Ende soll das erste Item in dem Listview mithilfe von
[autoit]_GUICtrlListView_DeleteItem($listview1, 1)
[/autoit]gelöscht werden;
will aber auch nicht klappen.
Wäre nett, wenn mir jemand helfen könnte(- schon wieder :))
gruß,
billie