SHUFFLE MODUS ( OHNE SOFTWARE ODER DATABASE)

+A -A
Autor
Beitrag
baracus33
Schaut ab und zu mal vorbei
#1 erstellt: 23. Apr 2019, 06:48
GIBTS PLAYER DIE SOZUSAGEN hardwarenah so einen shuffle modus haben , also ohne das man spezielle software oder firmware oder erst eine database erstellen muss? quasi einfach von einer random datei zur nächsten springen auf dem speicher?
hab diverse mp3player aber keiner hat so was wirklich immer ist ein hacken dabei
könnte man so eine funktion auch selber hacken? habe leider nur anfängerkenntnisse zb c++ (4 semester wirtschaftsinformatik-- )
moon1883
Stammgast
#2 erstellt: 25. Apr 2019, 19:36
Als Player kenne ich sowas nicht. Aber ich kenne mein dummes Autoradio, das eine unzureichende und buggy Shuffle-Funktion hat. Deshalb habe ich mir eine Krücke in Autoit selbst gebastelt:

Ich habe ein Verzeichnis mit z.Z. etwas über 3000 Stücken, die ich im Auto hören möchte.

Da ich davon ausging, daß das Autoradio den 32-GB-USB-Stick nicht verdauen kann, wenn in einem Verzeichnis tausende Dateien liegen (bei FAT32 sowieso nicht zu empfehlen...), war die erste Maßnahme, die 3000 Stücke auf "X" Unterverzeichnisse zu verteilen. Aber nicht strikt "die ersten 100 Files in Verzeichnis 1" bis "die letzten 100 Files in Verzeichnis 30" (was ganze CDs in einzelnen Verzeichnissen bedeuten würde), sondern für die Abwechslung File 1 in Verzeichnis 1, File 2 in Verzeichnis 2... File 30 in V 30, F 31 in V 1, F 32 in V 2... usw. So weit, so schön.

Leider erwies sich mein Autoradio als undankbar. Wenn ich einen neuen Ordner anwählte und für die ersten ordnungsgemäß "geshuffelten" 5 Stücke unterwegs war, dann parkte und später weiterfuhr, wiederholte der Spakken genau diese 5 Stücke immer wieder (in zufälliger Reihenfolge); die restlichen 95 Files im Ordner wurden ignoriert.

Damit das nicht passiert, schaltete ich Shuffle aus. Die Stücke werden nun der Reihenfolge nach wiedergegeben, ist das letzte Stück im Ordner erreicht, wird der nächste Ordner wiedergegeben. Das ist aber doof, weil ich unterwegs nicht erst alle 7 Stücke von Abba in diesem Ordner, dann die 5 Stücke von Al Stewart hören will, sondern einen bunten Mix.

Also habe ich nachgefrickelt und jede Datei bekommt nun eine dreistellige Zufallszahl zwischen 000 und 999 plus ein "_" vorangestellt.
Aus
Abba_(1994) Thank You For The Music_16 Dancing Queen
wird vielleicht
841_Abba_(1994) Thank You For The Music_16 Dancing Queen

Abba_(1994) Thank You For The Music_51 Cassandra
liegt vielleicht ebenfalls in "Ordner 17", heißt dann jedoch

016_Abba_(1994) Thank You For The Music_51 Cassandra

und zwischen 016 und 841 werden diverse andere Stücke gespielt...

Jetzt ist alles fein. Bis ich durch 3000 Stücke durch bin (>11 Tage reine Laufzeit bei 24/7) und beim ersten Verzeichnis merken würde, daß die Reihenfolge sich wiederholt, sind etliche Monate ins Land gegangen und ich erinnere mich nicht mehr.

OBACHT! Das Script führt eine Verschiebung und Umbenennung durch und legt die gewünschte Anzahl Unterordner im angewählten Ordner an! Das bedeutet, man muß erst eine Kopie des Quellverzeichnisses anfertigen (etwa auf dem Ziel-USB-Stick) und dann das Script auf diese Kopie loslassen!


#cs

    Name.............:  FileMixer
    Version..........:  0.0.20140822
    AutoItVersion....:  3.3.12.0
    Licence..........:  CC0     (Public Domain)

#ce

Opt("MustDeclareVars",1)

Global $SourceDir           = @ScriptDir & "\"
Global $MixDirPrefix        = "__Mx_"
Global $NumberOfSubDirs     = 20
Global $i, $dirn, $SearchHandle, $EndOfDir, $mp3File

$SourceDir          = FileSelectFolder ( "Quellverzeichnis auswählen", $SourceDir )
If @Error = 1 Then Exit
$NumberOfSubDirs    = Int ( InputBox ("Anzahl gewünschter Unterverzeichnisse", "Anzahl:", $NumberOfSubDirs ) )
If @Error = 1 Then Exit

WriteLog ("SourceDir=" & $SourceDir & " Dirs=" & String($NumberOfSubDirs))

For $i = 1 to $NumberOfSubDirs
    If Not FileExists( $SourceDir & $MixDirPrefix & DirN($i, $NumberOfSubDirs ) & "\" ) Then 
        DirCreate    ( $SourceDir & "\" & $MixDirPrefix & DirN($i, $NumberOfSubDirs ) & "\" )
    EndIf
Next

$i = 1
$SearchHandle = FileFindFirstFile ( $SourceDir & "\*.mp3")
$EndOfDir = @error
; WriteLog($SearchHandle & "---" & $EndOfDir )
If $SearchHandle <> -1 Then
    Do
        $mp3File = FileFindNextFile ( $SearchHandle )
        $EndOfDir = @error
        If $EndOfDir <> 1 Then
            FileMove ( $SourceDir & "\" & $mp3File , $SourceDir & "\" & $MixDirPrefix & DirN($i, $NumberOfSubDirs ) & "\" & _
                DirN(Random(1,999,1),999) & "_" & $mp3File )
            $i += 1
            If $i > $NumberOfSubDirs Then $i = 1
        EndIf
    Until $EndOfDir = 1

EndIf
Exit                                    ; END.

; end Program ********************************

Func DirN ($x, $mx)
    Return StringFormat("%0" & String(StringLen($mx)) & "i", $x)
EndFunc

Func LeftOf ( $sub, $instr)
    LOCAL $p
    $p = StringInStr ( $instr, $sub )
    If $p > 1 Then
        Return StringLeft ( $instr, $p - 1 )
    Else
        Return ""
    EndIf
EndFunc ; LeftOf ( $sub, $instr)

Func RightOf ( $sub, $instr)
    LOCAL $p
    $p = StringInStr ( $instr, $sub )
    If ($p > 0) And ($p < StringLen ( $instr )) Then
        Return StringRight ( $instr, StringLen ( $instr ) - ($p + (StringLen ( $sub ) - 1)))
    Else
        Return ""
    EndIf
EndFunc ; RightOf ( $sub, $instr)

#cs

********************* end primitives  *********************

#ce

#cs

********************* Debug *******************************

#ce

Func WriteLog ( $msg )
    FileWriteLine ( @ScriptDir & "\" & "FileMixer.log", @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & @MSEC & ": {" & $msg & "}" )
EndFunc ; WriteLog ( $msg )



[Beitrag von moon1883 am 25. Apr 2019, 19:40 bearbeitet]
Suche:
Das könnte Dich auch interessieren:
iPod shuffle
Patika am 29.06.2006  –  Letzte Antwort am 01.07.2006  –  4 Beiträge
Ipod Shuffle
Dynacophil am 04.06.2010  –  Letzte Antwort am 04.06.2010  –  8 Beiträge
Shuffle Alternative
Allimaniak am 03.09.2011  –  Letzte Antwort am 05.09.2011  –  4 Beiträge
IPOD SHUFFLE 4GEN=ITUNES=
Sony2 am 08.10.2010  –  Letzte Antwort am 17.10.2010  –  18 Beiträge
Meinungen zu Ipod shuffle
tulle18 am 25.08.2007  –  Letzte Antwort am 27.08.2007  –  8 Beiträge
Sansa Clip+ oder Ipod Shuffle
JimBuffalo am 06.01.2013  –  Letzte Antwort am 07.01.2013  –  10 Beiträge
Shuffle auf iAudio x5
Bookutus am 21.12.2006  –  Letzte Antwort am 21.12.2006  –  3 Beiträge
MP3 spielen auf IPOD Shuffle leicht gemacht - Anleitung
ICH75 am 07.05.2007  –  Letzte Antwort am 08.04.2010  –  14 Beiträge
Ipod Shuffle Tonqualität?
odi5 am 16.12.2006  –  Letzte Antwort am 27.12.2006  –  17 Beiträge
mp3 auf ipod shuffle?
berlt am 09.02.2007  –  Letzte Antwort am 09.02.2007  –  4 Beiträge
Foren Archiv
2019

Anzeige

Top Produkte in Mobiles Hifi / iPod / MP3 Player / Bluetooth-Lautsprecher Widget schließen

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder925.721 ( Heute: 9 )
  • Neuestes Mitgliedelibyss
  • Gesamtzahl an Themen1.551.068
  • Gesamtzahl an Beiträgen21.537.337

Top Hersteller in Mobiles Hifi / iPod / MP3 Player / Bluetooth-Lautsprecher Widget schließen