﻿#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <IE.au3>
#include "YouTubeAPI.au3"
#include "Youtube.au3"

Global $oCollection

$oIE = _IECreateEmbedded()
$formMain = GUICreate("YouTube Client", 418, 466, 192, 164)
$oFlash = ObjCreate("ShockwaveFlash.ShockwaveFlash.11")
$objPlayer = GUICtrlCreateObj($oFlash, 8, 40, 489, 393)

$inpWord = GUICtrlCreateInput("test", 8, 8, 321, 21)
GUICtrlSetState($inpWord, $GUI_FOCUS) ; Der Fokus ist auf diesem Element
$btnSearch = GUICtrlCreateButton("Suche", 330, 7, 81, 23)
$lswResults = GUICtrlCreateListView("Titel | Länge", 8, 32, 401, 393)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 320)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 60)
$btnPlay = GUICtrlCreateButton("Wiedergabe", 8, 432, 401, 25)

Dim $aItems[200]
Dim $aVID[20]

GUISetState(@SW_SHOW)

While True
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $btnSearch
			For $i = 0 To 19
				GUICtrlDelete($aItems[$i])
			Next
			$oCollection = YouTube_SearchVideos(GUICtrlRead($inpWord), 20, 1, $YT_BY_VIEWS, $YT_LANG_GERMAN)
			;Suche nach Video, (20 - max Ergebnisse und auf Deutsch)
			For $i = 0 To YouTube_GetVideosCount($oCollection) - 1
				YouTube_SelectIndex($oCollection, $i)
				;wählt ein Vidio aus, zur verarbeitung
				$aItems[$i] = GUICtrlCreateListViewItem(StringReplace(YouTube_GetTitle($oCollection), "|", "") & "|" & ToMinutes(YouTube_GetDuration($oCollection)), $lswResults)
				$aVID[$i] = YouTube_GetVID($oCollection)
				; für jedes gefundene Vidio die Vidio-ID ermitteln
			Next
		Case $btnPlay
			For $i = 0 To 199
				If GUICtrlRead($lswResults) = $aItems[$i] Then ExitLoop
			Next
			;~ $youtube_source = _Youtube_Read($vidio_id)
$vidio_title = YouTube_GetTitle($oCollection)
$form_player = GUICreate($vidio_title, 600, 600, 100, 200)

YouTube_SelectIndex($oCollection, $i) ; Wählt das aktive Objekt in der Sammlung
$vidio_id = YouTube_GetVID($oCollection)
$a_youtubeplayer = _Youtube_Create(120, 220)
GUISetState(@SW_SHOW)
$vidio_load_process = _Youtube_Load($a_youtubeplayer, $youtube_source)
GUICtrlSetState($a_youtubeplayer, $GUI_FOCUS) ; Der Fokus ist auf diesem Button


While True
	$nMsg1 = GUIGetMsg()
	Switch $nMsg1
		Case $GUI_EVENT_CLOSE
_Youtube_Stop($a_youtubeplayer)
GUIDelete()
	EndSwitch
WEnd

				EndSwitch
WEnd


