• Offizieller Beitrag

    Musik-Quiz ist ein Programm zum erraten von zufällig ausgewählten MP3-Titeln. Dazu muss man dem Programm mitteilen, wo die eigenen MP3s liegen. Das Programm scannt dann das Verzeichnis rekursiv durch und erstellt eine Liste mit allen MP3-Titeln. Daraus wählt es dann jeweils 3 Titel aus und zeigt sie dem Spieler an. Von einem Titel (zufällige Auswahl aus den dreien) spielt das Programm ein 20 sek. langes Teilstück an und der Spieler muss das richtige Lied erraten. Je schneller man das schafft, umso mehr Punkte bekommt man.

    Version: 3.4 ( 17.07.09 )

    - Einige Anpassungen vorgenommen, damit es auch mit der aktuellen AutoIt-Version funktioniert.
    - Das rekursive einlesen der MP3-Dateien geht jetzt schneller.
    - Das ändern der ID3-Tags (Interpret und Titel) erfolgt jetzt mit einem externen Programm (id3.exe im sys-Ordner). Die Probleme, die es vorher beim ändern gab, sollten damit behoben sein.

    Das Programm, alle Sounds und Grafiken, sowie das Script befinden sich im ZIP-Archiv (Anhang).

    Wenn ihr vorhabt den DAU-Modus auszuschalten, lest bitte vorher die Hilfedatei (Zusatzfunktionen)!

    Es kann generell nicht schaden, wenn ihr euch die Hilfedatei durchlest. Hab mir schließlich viel Mühe damit gegeben. :)

    Screenshots:
    bassmoddll.rardoc.jpg

    • Offizieller Beitrag

    Freut mich, dass es Dir gefällt. :)

    Darf ich fragen, mit wie vielen MP3s Du das spielst?

    Ich bin nämlich der Meinung, dass es erst so mit 1-2 tausend MP3s so richtig Spass macht. Vor allem, wenn da auch Lieder bei sind, die nicht so bekannt sind.
    Obwohl ich sagen muss, dass bei vielen Liedern ein nur 10 Sekunden langes Teilstück zwischen der ersten und zweiten Minute, gar nicht so leicht zu erraten ist, auch wenn man es eigentlich gut kennt.

  • Hallo Oscar.

    Genau das finde ich auch ... Ich habe ca 2000 Mp3's auf dem Pc; 1000 davon mit Radio Tracker aufgenommen.

    Die meisten von diesen 1000 kenn ich nicht, aber durch dein Quiz lern ich sie denn Kennen !


    Echt Super geworden ... Habe ich vorhin schon eine Halbe Stunde lang gespielt .... :thumbup::thumbup::thumbup:

    AutoIt Spiel Note: 10/10 !

    LG

    Lenny

    Jaja, Moo does the Cow!

  • Ich hab eure Skripte alle mit den Beatles Ordner getestet. (Also auch ausschließlich Musik der Beatles^^)

    Walle

    Flensburg ist wie Payback - wenn man 18 Punkte hat bekommt man ein Fahrrad.

  • Super gemacht !!!!

    Habe cirka 3.500 MP's, davon die Top 2.000 von einem Sender.

    Wer hat hier "Böhse Onkelz". Da muß ich wohl mal höflichst fragen, wo ich die her bekomme. Böhse Onkelz gibt es in DK nicht so recht, da die dort kaum eine/r hört :(

    LG, Lina.

    Lieben Gruß,
    Alina

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

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hey Oscar ich finde dein Musikquiz super!

    Doch ich habe ein Problem:
    Wenn ich einen MP3 Ordner angebe und dann ein neues Spiel starte, wird in den drei Felder unten nicht der Musiktitel & Interpret angezeigt, sondern

    Audio
    "Computername\Benutzername"

    Ich benutze Vista Ultimate x64

    mfg Troin

    • Offizieller Beitrag

    Kannst Du mal das folgende Script ausführen und beim FileOpenDialog eine MP3-Datei auswählen, bei der Du Dir sicher bist, dass sie ID3-Informationen enthält?
    Als Ergebnis müsste ein Array herauskommen, mit 3 Elementen: Titel, Interpret und Dauer

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $sPath = FileOpenDialog('Test', '', 'MP3 (*.mp3)')
    $aInfo = _getID3Tag($sPath)
    _ArrayDisplay($aInfo)

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

    Func _getID3Tag($sPath)
    Local $sFile, $sDir, $oShellApp, $oDir, $oFile, $aProperty[3], $aTemp
    $sFile = StringTrimLeft($sPath, StringInStr($sPath, '\', 0, -1))
    $aTemp = StringRegExp($sFile, '(.+) - (.+).mp3', 3)
    $sDir = StringTrimRight($sPath, (StringLen($sPath) - StringInStr($sPath, '\', 0, -1)))
    $oShellApp = ObjCreate ('shell.application')
    $oDir = $oShellApp.NameSpace ($sDir)
    $oFile = $oDir.Parsename ($sFile)
    $aProperty[1] = $oDir.GetDetailsOf($oFile, 9)
    If $aProperty[1] = '' And IsArray($aTemp) Then $aProperty[1] = $aTemp[0]
    $aProperty[0] = $oDir.GetDetailsOf($oFile, 10)
    If $aProperty[0] = '' And IsArray($aTemp) Then $aProperty[0] = $aTemp[1]
    $aProperty[2] = $oDir.GetDetailsOf($oFile, 21)
    Return $aProperty
    EndFunc

    [/autoit]
  • Ich habe das Script mit ausgeführt und eine Mp3 Datei geöffnet von der ich mir 100% sicher bin, dass sie ID3-Informationen enthält. So das Ergebnis:

    [0] Computername\Benutzername
    [1] Audio
    [2] Songtitel

    Hoffe das hilft etwas, denn ich muss in 5 Minuten losfahren damit ich den Flieger nicht verpasse ;) und somit kann ich erst wieder in 14 Tagen antworten

    mfg Troin bis denne :D

    • Offizieller Beitrag

    @Understood: Die Icons sind von Iconspedia

    Sirocool: Hast Du das Script neu compiliert und dabei den Obfuscator benutzt? Wenn ja, lass den Obfuscator mal weg, ansonsten bitte mal mehr Informationen zu dem Fehler. Hast Du die Exe oder das Script gestartet? Welches Windows benutzt Du?

    Für alle mit Vista 64 Bit: Bitte mal dieses Script hier starten, ein MP3 mit ID3-Tag-Informationen auswählen und mir mitteilen, welche Array-Elemente für Interpret und Titel zuständig sind:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $sPath = FileOpenDialog('Test', '', 'MP3 (*.mp3)')
    $aInfo = _getID3Tag($sPath)
    _ArrayDisplay($aInfo)

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

    Func _getID3Tag($sPath)
    Local $oShellApp, $oDir, $oFile, $aProperty[35], $aPath
    $aPath = StringRegExp($sPath, '(.+)\\(.+)', 3)
    $oShellApp = ObjCreate('shell.application')
    $oDir = $oShellApp.NameSpace($aPath[0])
    $oFile = $oDir.Parsename($aPath[1])
    For $i = 0 To 34
    $aProperty[$i] = $oDir.GetDetailsOf($oFile, $i)
    Next
    Return $aProperty
    EndFunc ;==>_getID3Tag

    [/autoit]
  • also oscar habe jetzt neue exe gemacht und deine mal gelöscht gehabt aber der fehler kommt immer wieder bei mir immer wenn ich ca 3 oder 4 lied höre und ich nutze windows xp 32 bit

    • Offizieller Beitrag

    Starte doch einfach mal das Script (nicht die exe) und lass es laufen. Wenn dann der Fehler auftritt, wird die genaue Zeilennummer ausgegeben.
    So bekommt man mehr Informationen über den Fehler.
    Im Moment vermute ich die Funktion "_getID3Tag" als Fehlerquelle, weil das die einzige Funktion in meinem Script ist, die ein Objekt erstellt.

    Welche AutoIt-Version nutzt Du?

  • also habe es mal nur mit au3 gemacht einmal lief es durch und beim 2 mal kamm auf einmal dieser fehler

    Spoiler anzeigen


    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Downloads\Musik-Quiz_34\Musik-Quiz\Musik-Quiz.au3 falls smiley kommt 908 (908) : ==> The requested action with this object has failed.:
    $oFile = $oDir.Parsename ($sFile)
    $oFile = $oDir.Parsename ($sFile)^ ERROR

    und 2 fehler kamm sowas

    Spoiler anzeigen


    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Downloads\Musik-Quiz_34\Musik-Quiz\Musik-Quiz.au3 (814) : ==> Subscript used with non-Array variable.:
    $aPathMP3[$i] = $aMP3[Random(1, $aMP3[0], 1)]
    $aPathMP3[$i] = $aMP3^ ERROR

    ich hoffe es hilft dir weiter aber wiegesagt einmal lief es komplet durch bei der au3 und ich nutze die autoit version 3.3.0.0

  • @Understood: Die Icons sind von Iconspedia

    Sirocool: Hast Du das Script neu compiliert und dabei den Obfuscator benutzt? Wenn ja, lass den Obfuscator mal weg, ansonsten bitte mal mehr Informationen zu dem Fehler. Hast Du die Exe oder das Script gestartet? Welches Windows benutzt Du?

    Für alle mit Vista 64 Bit: Bitte mal dieses Script hier starten, ein MP3 mit ID3-Tag-Informationen auswählen und mir mitteilen, welche Array-Elemente für Interpret und Titel zuständig sind:

    auf meine buttons steht immer

    audio
    administratoren

    was feld 9 und 10 ist

    Spoiler anzeigen

    [9]|Audio
    [10]|Administratoren

    bei vista 64bit ist es anscheinend feld nummer 13 und 14

    Spoiler anzeigen

    [13]|Angerfist
    [14]|Pissin' Razorblades