Maza Faka
Цитата:
как можно проиграть плейлист?
|
Это не так уж просто, я сам начал давненько писать плеер, всё никак не осмелюсь его закончить, чтобы ты более менее представлял себе структуру подобного плеера (в моём стиле
), вот тебе пример с добавлением в плей лист как отдельных треков, так и плейлист-файла (*.m3u) - для считывания плейлист-файла я написал функцию обработки строк (
_M3uToArray()), все пути к файлам треков считываются в массив...
Код:
#include <GUIConstants.au3>
#include <GuiListView.au3>
#include <Array.au3>
GUICreate("Player", 300, 200, -1, -1, -1)
GUISetIcon(@ProgramFilesDir & "\Winamp\winamp.exe", 0)
$Playlist = GUICtrlCreateListView("File Name|Path", 20, 50, 260, 120)
$Play = GUICtrlCreateButton("Play", 20, 10, 60)
$Open = GUICtrlCreateButton("Open", 110, 10, 60)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Open
$OpenFile = FileOpenDialog("Add selected file", "", "Sound files (*.mp3;*.m3u)", 1)
If @error Then ContinueLoop
Local $FilesArray[2] = [1, $OpenFile]
If StringRight($OpenFile, 3) = "m3u" Then $FilesArray = _M3uToArray($OpenFile)
For $i = 1 To UBound($FilesArray)-1
$FileName = StringRegExpReplace($FilesArray[$i], "^.*\\", "")
GUICtrlCreateListViewItem($FileName & "|" & $FilesArray[$i], $PlayList)
Next
Case $msg = $Play
$Selected = _GUICtrlListViewGetItemText($PlayList, -1, 1)
If $Selected <> "" Then
SoundPlay($Selected, 0)
Else
MsgBox(64, "Error", "Please select file")
EndIf
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Func _M3uToArray($M3uPath)
If StringRight($M3uPath, 4) <> ".m3u" Or Not FileExists($M3uPath) Then Return -1
Local $OpenM3u = FileOpen($M3uPath, 0), $M3uArr[1]
While 1
$CurrentLine = FileReadLine($OpenM3u)
If @error = -1 Then ExitLoop
If StringLeft($CurrentLine, 4) <> "#EXT" Then _ArrayAdd($M3uArr, $CurrentLine)
WEnd
FileClose($OpenM3u)
$M3uArr[0] = UBound($M3uArr) - 1
Return $M3uArr
EndFunc
P.S
Чтобы после проигрывания одного трека начал проигрываться другой, нужно использовать библиотеку
Sound.au3, там есть функции для определения статуса текущей песни, перемотка песни, ну и в принцепе все основные функции требуемые для примитивного плеера
amel27
Цитата:
Исправленный вариант с расширенными комментариями
|
Биг сенкс! Возвращается имя обьекта как положенно!
geka6pucT
Цитата:
Как можно с помощью AutoIt3 использовать обычный Twain сканнер?
|
А подробнее можно? “использовать” можно понять по разному