Starplayer (MP3-Player)

    • Offizieller Beitrag

    Mein neuestes Werk: Ein MP3-Player.
    Version 1.6 ( 10.05.09 ) ist fertig!

    Eigenschaften:
    - Wenn der Player als Standard-MP3-Player registriert ist, kann man ein MP3 per Doppelklick starten.
    - MP3s können per Auswahldialog oder per Drag&Drop der Playliste hinzugefügt werden.
    - Man kann ganze Ordner (inkl. Unterordner) per Drag&Drop der Playliste hinzufügen.
    - Die Playliste kann gespeichert/geladen werden.
    - Man kann den Player mit der zuletzt benutzten Playliste starten lassen.
    - Fenster kann immer im Vordergrund gesetzt werden.
    - Wahlweise kann der Player normal oder in den Tray (Doppelklick auf's Tray-Icon stellt das Fenster wieder her) minimiert werden.
    - Springen innerhalb des Titels geht mit einem Linksklick auf die Fortschrittsanzeige.
    - Lautstärkeregler vorhanden (Stellung wird abgespeichert)
    - Ein Doppelklick auf einen Titel in der Playliste startet diesen.
    - Im Kontextmenü zu einen Titel in der Playliste kann man ein Zusatzfenster mit Datei-Informationen aufrufen.
    - Letzte Playliste/übergebenes MP3-File startet direkt beim Playerstart (ja/nein auswählbar)
    - Die vor dem Programmstart eingestellte Lautstärke wird beim Programmende wiederhergestellt.
    - Für den Eintrag in der Playliste werden nach Möglichkeit die ID3-Tags benutzt. Falls keine vorhanden, wird der Dateiname (ohne Endung) verwendet.
    - Die Playliste kann nach Zufall sortiert werden (Random-Play)
    - Man kann die Einträge mit gedrückter, linker Maustaste innerhalb des Listview verschieben.
    - Playliste kann neu erstellt werden (alle Einträge löschen)

    ToDo-List:

    Screenshots:
    autoit.de/wcf/attachment/4727/autoit.de/wcf/attachment/4718/

  • wollte doch nur drauf hinweisen das es im englischen auch sowas gibt kannst ja schauen ob da noch was verwenden kannst und ausserdem ist die idee fast die gleiche

  • oscar ist gute arbeit weiter so


    ps.:
    habe ja nichts gegen den player gesagt zieht cool aus aber was noch cool kommen würde wenn man das wie bei mediaplayer hat wenn man musik hört mit den ablaufen eines bildes

    und wenn es so rüber kamm sorry

    • Offizieller Beitrag

    Oscar läuft bis jetzt super. :thumbup: Der gefällt mir so, das ich Ihn sehr oft verwenden werde :thumbup:

    Habe noch ein paar Vorschläge für deine ToDo-Liste .

    Eine Möglichkeit mehrere Files gleichzeitig per Drag and Drop in den Player einfügen ,
    Eine Autostart Option die sobald ein File in den Player gezogen wurde, die Wiedergabe beginnt.
    Automatische Auswahl des gerade hinzugefügten Titels, damit man diesen per Play Button sofort starten kann.
    Anzeige des Titels, der garade gespielt wird im ListView.
    Verkleinern ins Tray, damit der Player die Taskleiste nicht unnütz überfüllt wenn er verkleinert ist.
    Eine Option um den SetOnTop Mode zu deaktivieren wäre auch nicht schlecht
    Loopmodus um eine Enaloswiedergabe zu ermöglichen . Gut wäre auch ein ShufflePla Mode.


    Wenn mir noch mehr einfällt dann hänge ich das an diese Post an . :D

    Edit: Für das Übergeben mehrerer Dateien habe ich das folgende im Englischen Forum gefunden
    http://www.autoitscript.com/forum/index.php?showtopic=28062&start=0&p=199131&#entry199131

    • Offizieller Beitrag

    Oscar Ich habe mir mal einfach so erlaubt das MultiFileDrag in deinen Player zu Intigrieren . Wenn es dir nicht gefällt, einfach Ignorieren .

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=icons\prog.ico
    #AutoIt3Wrapper_Outfile=Starplayer.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_Res_Description=Starplayer
    #AutoIt3Wrapper_Res_Fileversion=0.9.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Oscar (http://www.autoit.de)
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Array.au3>
    #include <ProgressConstants.au3>
    #include <GuiListView.au3>
    #include <StaticConstants.au3>
    #include <SliderConstants.au3>
    #include <EditConstants.au3>
    #include <Sound.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUIOnEventMode', 1)
    Opt('GUICloseOnESC', 0)
    Opt('TrayAutoPause', 0)
    Global $WM_DROPFILES = 0x233
    Global $gaDropFiles[1]
    Global $sIconPath = @ScriptDir & '\icons\'
    Global $sInifile = @ScriptDir & '\Starplayer.ini'
    Global $sTitle = 'Starplayer v0.9'

    [/autoit] [autoit][/autoit] [autoit]

    $hGui = GUICreate($sTitle & ' ' & Chr(169) & ' by Oscar (http://www.autoit.de)', 630, 340, -1, -1, Default, BitOR($WS_EX_TOPMOST, $WS_EX_ACCEPTFILES))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    GUISetOnEvent($GUI_EVENT_PRIMARYUP, '_SetPos')
    GUISetOnEvent($GUI_EVENT_DROPPED, '_DragEvent')
    GUISetBkColor(0xBBBBBB)
    GUISetIcon($sIconPath & 'prog.ico', 4)

    [/autoit] [autoit][/autoit] [autoit]

    $hListview = GUICtrlCreateListView(' Playlist', 10, 10, 580, 190, Default, $WS_EX_CLIENTEDGE)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSetBkColor(-1, 0xEEEEEE)
    GUICtrlSendMsg($hListview, $LVM_SETCOLUMNWIDTH, 0, 550)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGroup('Songtime', 10, 210, 120, 40)
    $hDisplayTime = GUICtrlCreateLabel('00:00 / 00:00', 20, 225, 100, 20)
    GUICtrlSetFont(-1, 14, 400, 0, 'Times New Roman')
    GUICtrlSetColor(-1, 0x222222)
    GUICtrlCreateGroup('', -99, -99, 1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGroup('Songtitle', 140, 210, 445, 40)
    $hDisplayTitle = GUICtrlCreateLabel('', 150, 225, 430, 20)
    GUICtrlSetFont(-1, 14, 400, 0, 'Times New Roman')
    GUICtrlSetColor(-1, 0x222222)
    GUICtrlCreateGroup('', -99, -99, 1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0) ; auf den klassischen Style umschalten
    $hProgress = GUICtrlCreateProgress(10, 260, 575, 12, $PBS_SMOOTH)
    GUICtrlSetBkColor(-1, 0xEEEEEE)
    GUICtrlSetColor(-1, 0xEE8822)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7) ; zurück zum Standard-Windowsstyle

    [/autoit] [autoit][/autoit] [autoit]

    $hAdd = GUICtrlCreateIcon($sIconPath & 'add.ico', -1, 20, 282, 32, 32)
    GUICtrlSetOnEvent(-1, '_AddFile')
    $hDel = GUICtrlCreateIcon($sIconPath & 'del_d.ico', -1, 70, 282, 32, 32)
    GUICtrlSetOnEvent(-1, '_DelFile')
    $hPrev = GUICtrlCreateIcon($sIconPath & 'prev_d.ico', -1, 220, 282, 32, 32)
    GUICtrlSetOnEvent(-1, '_Prev')
    GUICtrlSetState(-1, $GUI_DISABLE)
    $hPlay = GUICtrlCreateIcon($sIconPath & 'play_d.ico', -1, 270, 282, 32, 32)
    GUICtrlSetOnEvent(-1, '_Play')
    GUICtrlSetState(-1, $GUI_DISABLE)
    $hStop = GUICtrlCreateIcon($sIconPath & 'stop_d.ico', -1, 320, 282, 32, 32)
    GUICtrlSetOnEvent(-1, '_Stop')
    GUICtrlSetState(-1, $GUI_DISABLE)
    $hNext = GUICtrlCreateIcon($sIconPath & 'Next_d.ico', -1, 370, 282, 32, 32)
    GUICtrlSetOnEvent(-1, '_Next')
    GUICtrlSetState(-1, $GUI_DISABLE)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iVolume = IniRead($sInifile, 'Settings', 'Volume', 80)
    $hVolumeSlider = GUICtrlCreateSlider(592, 11, 30, 188, BitOR($TBS_VERT, $TBS_AUTOTICKS, $TBS_LEFT))
    GUICtrlSetBkColor(-1, 0xEEEEEE)
    $hVolume = GUICtrlCreateLabel($iVolume & '%', 592, 205, 32, 20, $SS_CENTER)
    $hVolumeIcon = GUICtrlCreateIcon($sIconPath & 's_on.ico', -1, 592, 225, 32, 32)
    If $iVolume = 0 Then GUICtrlSetImage(-1, $sIconPath & 's_off.ico')
    SoundSetWaveVolume($iVolume)
    GUICtrlSetData($hVolumeSlider, 100 - $iVolume)

    [/autoit] [autoit][/autoit] [autoit]

    $hStatus1 = GUICtrlCreateInput(' 0 Files', 0, 322, 90, 20, BitOR($ES_CENTER, $ES_READONLY), $WS_EX_CLIENTEDGE)
    GUICtrlSetBkColor(-1, 0xEEEEEE)
    $hStatus2 = GUICtrlCreateInput('', 90, 322, 540, 20, $ES_READONLY, $WS_EX_CLIENTEDGE)
    GUICtrlSetBkColor(-1, 0xEEEEEE)

    [/autoit] [autoit][/autoit] [autoit]

    Global $aFiles[1] = [0], $hSound = '', $sStatus = 'Play', $iPlayCount = -1
    Global $sOpenPath = IniRead($sInifile, 'Settings', 'OpenPath', @ScriptDir)
    Global $bCheckPrev1 = False, $bCheckPrev2 = False, $bCheckNext1 = False, $bCheckNext2 = False

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    GUIRegisterMsg($WM_VSCROLL, '_VolumeLevel')
    GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While True
    If $iPlayCount > 0 Then
    If Not $bCheckPrev1 Then
    $bCheckPrev1 = True
    $bCheckPrev2 = False
    GUICtrlSetImage($hPrev, $sIconPath & 'prev.ico')
    GUICtrlSetState($hPrev, $GUI_ENABLE)
    EndIf
    Else
    If Not $bCheckPrev2 Then
    $bCheckPrev1 = False
    $bCheckPrev2 = True
    GUICtrlSetImage($hPrev, $sIconPath & 'prev_d.ico')
    GUICtrlSetState($hPrev, $GUI_DISABLE)
    EndIf
    EndIf
    If $aFiles[0] > 1 And $iPlayCount < ($aFiles[0] - 1) And $hSound <> '' Then
    If Not $bCheckNext1 Then
    $bCheckNext1 = True
    $bCheckNext2 = False
    GUICtrlSetImage($hNext, $sIconPath & 'next.ico')
    GUICtrlSetState($hNext, $GUI_ENABLE)
    EndIf
    Else
    If Not $bCheckNext2 Then
    $bCheckNext1 = False
    $bCheckNext2 = True
    GUICtrlSetImage($hNext, $sIconPath & 'next_d.ico')
    GUICtrlSetState($hNext, $GUI_DISABLE)
    EndIf
    EndIf
    Sleep(20)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _End()
    AdlibDisable()
    If $hSound <> '' Then
    _SoundStop($hSound)
    _SoundClose($hSound)
    EndIf
    Exit
    EndFunc ;==>_End

    [/autoit] [autoit][/autoit] [autoit]

    Func _SetPos()
    If $hSound = '' Then Return $GUI_RUNDEFMSG
    Local $aInfo = GUIGetCursorInfo($hGui)
    If $aInfo[4] <> $hProgress Then Return $GUI_RUNDEFMSG
    AdlibDisable()
    Local $iLenMS = _SoundLength($hSound, 2) / 585 * $aInfo[0]
    Local $iHour = Int($iLenMS / 3600000)
    $iLenMS -= $iHour * 3600000
    Local $iMins = Int($iLenMS / 60000)
    $iLenMS -= $iMins * 60000
    Local $iSecs = Int($iLenMS / 1000)
    _SoundSeek($hSound, $iHour, $iMins, $iSecs)
    _SoundPlay($hSound)
    AdlibEnable('_DisplayPos', 200)
    EndFunc ;==>_SetPos

    [/autoit] [autoit][/autoit] [autoit]

    Func _VolumeLevel($hWnd, $Msg, $wParam, $lParam)
    Local $iLevel = 100 - GUICtrlRead($hVolumeSlider)
    Local $hCtrl = $lParam
    If $hCtrl = GUICtrlGetHandle($hVolumeSlider) Then
    SoundSetWaveVolume($iLevel)
    GUICtrlSetData($hVolume, $iLevel & '%')
    IniWrite($sInifile, 'Settings', 'Volume', $iLevel)
    If $iLevel = 0 Then
    GUICtrlSetImage($hVolumeIcon, $sIconPath & 's_off.ico')
    Else
    GUICtrlSetImage($hVolumeIcon, $sIconPath & 's_on.ico')
    EndIf
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_VolumeLevel

    [/autoit] [autoit][/autoit] [autoit]

    Func _DisplayPos()
    Local $aLen = StringSplit(_SoundLength($hSound, 1), ':', 2)
    Local $aPos = StringSplit(_SoundPos($hSound, 1), ':', 2)
    GUICtrlSetData($hDisplayTime, StringFormat('%02i:%02i', $aPos[1], $aPos[2]) & ' / ' & StringFormat('%02i:%02i', $aLen[1], $aLen[2]))
    Local $iLenMS = _SoundLength($hSound, 2)
    Local $iPosMS = _SoundPos($hSound, 2)
    GUICtrlSetData($hProgress, Int(100 / $iLenMS * $iPosMS))
    If _SoundStatus($hSound) = 'stopped' Then
    If $iPlayCount < (_GUICtrlListView_GetItemCount($hListview) - 1) Then
    _SoundStop($hSound)
    _SoundClose($hSound)
    $sStatus = 'Play'
    $iPlayCount += 1
    _Play()
    Else
    _Stop()
    EndIf
    EndIf
    EndFunc ;==>_DisplayPos

    [/autoit] [autoit][/autoit] [autoit]

    Func _Prev()
    AdlibDisable()
    _SoundStop($hSound)
    _SoundClose($hSound)
    $sStatus = 'Play'
    $hSound = ''
    $iPlayCount -= 1
    _Play()
    EndFunc ;==>_Prev

    [/autoit] [autoit][/autoit] [autoit]

    Func _Next()
    AdlibDisable()
    _SoundStop($hSound)
    _SoundClose($hSound)
    $sStatus = 'Play'
    $hSound = ''
    $iPlayCount += 1
    _Play()
    EndFunc ;==>_Next

    [/autoit] [autoit][/autoit] [autoit]

    Func _Play()
    Switch $sStatus
    Case 'Play'
    If $iPlayCount = -1 Then $iPlayCount = ControlListView($hGui, '', $hListview, 'GetSelected', 0)
    $hSound = _SoundOpen($aFiles[$iPlayCount + 1], 'Sound')
    If Not @error Then
    GUICtrlSetState($hStop, $GUI_ENABLE)
    GUICtrlSetImage($hStop, $sIconPath & 'stop.ico')
    GUICtrlSetImage($hPlay, $sIconPath & 'pause.ico')
    GUICtrlSetData($hDisplayTitle, StringRegExpReplace($aFiles[$iPlayCount + 1], '.*\\(.*)\..*', '\1'))
    _GUICtrlListView_SetItemSelected($hListview, $iPlayCount)
    GUICtrlSetData($hStatus2, ' ' & $aFiles[$iPlayCount + 1])
    $sStatus = 'Pause'
    _SoundPlay($hSound)
    _DisplayPos()
    AdlibEnable('_DisplayPos', 200)
    EndIf
    Case 'Pause'
    GUICtrlSetImage($hPlay, $sIconPath & 'resume.ico')
    $sStatus = 'Resume'
    _SoundPause($hSound)
    Case 'Resume'
    GUICtrlSetImage($hPlay, $sIconPath & 'pause.ico')
    $sStatus = 'Pause'
    _SoundResume($hSound)
    EndSwitch
    EndFunc ;==>_Play

    [/autoit] [autoit][/autoit] [autoit]

    Func _Stop()
    AdlibDisable()
    GUICtrlSetData($hDisplayTime, '00:00 / 00:00')
    GUICtrlSetData($hDisplayTitle, '')
    GUICtrlSetData($hProgress, 0)
    GUICtrlSetState($hStop, $GUI_DISABLE)
    GUICtrlSetImage($hStop, $sIconPath & 'stop_d.ico')
    GUICtrlSetImage($hPlay, $sIconPath & 'play.ico')
    _SoundStop($hSound)
    _SoundClose($hSound)
    $iPlayCount = -1
    $sStatus = 'Play'
    $hSound = ''
    EndFunc ;==>_Stop

    [/autoit] [autoit][/autoit] [autoit]

    Func _ListviewEvent()
    Local $iSelect = ControlListView($hGui, '', $hListview, 'GetSelected', 0)
    GUICtrlSetData($hStatus2, ' ' & $aFiles[$iSelect + 1])
    If $hSound = '' Then
    GUICtrlSetState($hPlay, $GUI_ENABLE)
    GUICtrlSetImage($hPlay, $sIconPath & 'play.ico')
    EndIf
    EndFunc ;==>_ListviewEvent

    [/autoit] [autoit][/autoit] [autoit]

    Func _DelFile()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_DelFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _AddFile()
    Local $sNew = FileOpenDialog($sTitle, $sOpenPath, 'Music (*.mp3)', 1 + 2 + 4, '', $hGui)
    If Not @error Then
    Local $aNew = StringSplit($sNew, '|')
    If $aNew[0] = 1 Then
    $sOpenPath = StringRegExpReplace($aNew[1], '(.*\\).*', '\1')
    GUICtrlCreateListViewItem(StringRegExpReplace($aNew[1], '.*\\(.*)\..*', '\1'), $hListview)
    GUICtrlSetOnEvent(-1, '_ListviewEvent')
    $aFiles[0] += 1
    ReDim $aFiles[$aFiles[0] + 1]
    $aFiles[$aFiles[0]] = $aNew[1]
    Else
    $sOpenPath = $aNew[1]
    If StringRight($sOpenPath, 1) <> '\' Then $sOpenPath &= '\'
    ReDim $aFiles[$aFiles[0] + $aNew[0]]
    For $i = 2 To $aNew[0]
    GUICtrlCreateListViewItem(StringRegExpReplace($aNew[$i], '(.*)\..*', '\1'), $hListview)
    GUICtrlSetOnEvent(-1, '_ListviewEvent')
    $aFiles[0] += 1
    $aFiles[$aFiles[0]] = $sOpenPath & $aNew[$i]
    Next
    EndIf
    IniWrite($sInifile, 'Settings', 'OpenPath', $sOpenPath)
    GUICtrlSetImage($hDel, $sIconPath & 'del.ico')
    GUICtrlSetData($hStatus1, StringFormat(' %3i File(s)', $aFiles[0]))
    EndIf
    EndFunc ;==>_AddFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _DragEvent()
    ;~ Local $sFile = @GUI_DragFile
    For $i = 0 To UBound($gaDropFiles) - 1
    If StringRight($gaDropFiles[$i], 4) <> '.mp3' Then ContinueLoop
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '\1'), $hListview)
    GUICtrlSetOnEvent(-1, '_ListviewEvent')
    $aFiles[0] += 1
    ReDim $aFiles[$aFiles[0] + 1]
    $aFiles[$aFiles[0]] = $gaDropFiles[$i]
    GUICtrlSetImage($hDel, $sIconPath & 'del.ico')
    GUICtrlSetData($hStatus1, StringFormat(' %3i File(s)', $aFiles[0]))
    Next
    EndFunc ;==>_DragEvent

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)
    For $i = 0 To $nAmt[0] - 1
    $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate("char[" & $nSize & "]")
    DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
    ReDim $gaDropFiles[$i + 1]
    $gaDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    EndFunc ;==>WM_DROPFILES_FUNC

    [/autoit]

    Ich hoffe du kannst es verwenden . ;)

    Edit @Deepred es geht auch mit mehreren Files . ;)

  • Hallo Oscar.

    Wenn die Datei ein Bindestrich / Minuszeichen hat, dann wird die Datei nicht agespielt. Aber sehr schön sonst.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Gute arbeit :thumbup:

    Ich würde noch einen Überrollefekt für deine Button setzten, sieht besser aus!

    Ich habe genau wie Alina ein Problem bei machen Dateien, allerdings liegt es nicht am bindestrich!
    Manche dateien werden einfach nicht abgespielt!

    Und ich würde noch eine Doppelklickfunc auf die ListViewItems legen!

    mfg. Jam00

  • Hallo Oscar,

    schönes Teil :thumbup: ,

    die Dateien die ich bis jetzt probiert habe werden alle gespielt. Ich habe aber ein Problem mit der Drag- und Dropfunktion, (auch in der Version von Raupi). Die Datei(en) kann ich zwar über die Listview ziehen, der Mauscursor für gültige Dropoperation wird auch angezeigt, aber sie werden nicht in die Listview aufgenommen,

    mfg (Auto)Bert

    • Offizieller Beitrag

    Oha, so viele Antworten auf einmal... :)

    Sirocool: Tut mir leid, aber das soll kein MediaPlayer-Ersatz werden. Diesen ganzen Visualisierung-Kram finde ich total überflüssig.
    Das ist ja auch der Grund, warum ich meinen eigenen MP3-Player programmiere. Der soll einfach nur MP3s abspielen.

    Greek: Icons gibt's hier: Iconspedia.com

    Raupi : Multi-Drag & Drop übernommen. Klasse! Danach wollte ich noch suchen. Hast Du mir erspart. Danke!
    Der Titel, der gerade gespielt wird, wird doch bereits im Listview angezeigt (Select-Status). Der Rest kommt auf die ToDo-Liste.

    @Deepred: Mal sehen, was ich davon umsetzen werde. Eigentlich soll das "nur" ein kleiner MP3-Player werden.

    Alina: Wenn manche Dateien nicht abgespielt werden, dann liegt das wahrscheinlich am Format. Ich weiß nicht genau, was _SoundPlay alles abspielen kann (vermutlich nur: MP3, WAV, WMA).

    Jam00: Hover-Effekt, ok könnte ich hinzufügen. Doppelklick für's Listview steht schon auf der ToDo-List.

    autoBert: Es werden nur Dateien mit der Endung ".mp3" (auch per Drag & Drop) ins Listview aufgenommen. Diese sollten aber funktionieren. Wenn nicht, bitte melden!

  • Hallo Oscar,

    ich hatte es mit WMA getestet, über den FileOpen-Dialog hatte es geklappt, nur mit Drag & Drop nicht. In deiner Ursprungsversion klappen auch MP3 Dateien nicht, aber in der Multi Drag & Drop klappt es,

    mfg (Auto)Bert

  • Schön wäre es, wenn man im späteren Kontextmenü einige Konfigurationen ändern könnte:

    "Immer im Vordergrund EIN/AUS" wäre nicht schlecht. Der Player drängelt sich doch etwas in den Vordergrund.
    "Ort der INI-Datei"
    "Letzte Playlist beibehalten"

    Edit: Und noch ein Manko. Der Player behält die "WAVE"-Lautstärke nicht bei, sondern stellt sie immer auf 80%. Ist nicht so schön.

    Edit2: Ich hab gerade gesehen warum. Ist die INI-Leer nimmt er Standard 80. Dieser Wert wird bei Veränderung in die INI geschrieben und damit beim nächsten mal wieder gestartet. Besser wäre, Lautstärke gar nicht aus den INI stellen, sondern aktuelle beibehalten oder beim Start die aktuelle Zwischenspeichern und am Ende wieder auf den alten Wert zurückstellen.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    2 Mal editiert, zuletzt von Micha_he (4. Mai 2009 um 14:47)

    • Offizieller Beitrag

    Beim FileOpen-Dialog habe ich als Filter aber "*.mp3" drin. Demnach dürften nur Dateien mit der Endung: .mp3 auswählbar sein.
    In der Multi-Drap&Drop Version dürften auch nur MP3-Dateien eingefügt werden.
    Wenn Du allerdings MP3-Dateien hast, die nicht abgespielt werden können, kannst Du mal nachsehen, wie diese kodiert (evtl. VBR oder eine besondere Bitrate) sind?
    Am besten wäre natürlich, wenn Du die mal mit _SoundPlay testen könntest. Ich konnte bisher noch nichts finden, was _SoundPlay alles für Formate abspielen bzw. nicht abspielen kann.

    Edit:  Micha_he: Ja, diverse Konfigurationsmöglichkeiten sind eingeplant. Playlist speichern/laden auch. "Ort der INI-Datei"? @ScriptDir gefällt Dir nicht?

    Edit2: Lautstärke wird doch in der INI-Datei gespeichert:

    [autoit]

    IniWrite($sInifile, 'Settings', 'Volume', $iLevel)

    [/autoit]


    und auch wieder geladen:

    [autoit]

    $iVolume = IniRead($sInifile, 'Settings', 'Volume', 80)

    [/autoit]