[Visual Basic] MP3 Player

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von Hardwarehunger, 24. Februar 2009 .

Schlagworte:
  1. 24. Februar 2009
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    MP3 Player

    PLAYER
    nachdems von mir schon lang nichtsmer öffentlich gab und mir grad langweilig ist, veröffentlich ich den hier mal. ist nen mp3 player den ich mal für nen kumpel gemacht hab, dementsprechend ist er statisch, auf seine ansprüche zugeschnitten.

    FUNKTIONSWEISE
    (zum abspielen kommt fmod zum einsatz)​
    er durchsucht alle ordner, die im selben ordner wie die exe liegen, ob in diesem ordner eine folder.jpg ist. wenn ja, werden alle lieder in diesem ordner (und subfolders) mit dem bild aus der folder.jpg geaddet. klickt der user auf ein bild, so wird ständig random ein lied aus der folder (bzw subfolder) gespielt.

    DOWNLOAD
    No File | xup.in

    SCREENSHOT
    Bild

    QUELLCODE
    (der wichtigste, der rest sollte logisch sein)​
    Code:
    Public Type PLAYER_TYPE
     ARTIST As String
     SONG() As String
    End Type
    
    Public PLAYER_INDEX As Integer
    Public PLAYER_HANDLE As Long
    Public PLAYER_VOLUME As Long
    Public PLAYER_POSITION As Long
    Public PLAYER_LENGTH As Long
    Public PLAYER_ARTIST As String
    Public PLAYER_SONG As String
    
    Public PLAYER_TYPE_ARRAY() As PLAYER_TYPE
    
    '+++++++++++++++++++++++++++++++++++++++++++++
    'Form_Load
    '+++++++++++++++++++++++++++++++++++++++++++++
    Private Sub Form_Load()
     Const FILE_ATTRIBUTE_ARCHIVE = &H20
     Const FILE_ATTRIBUTE_COMPRESSED = &H800
     Const FILE_ATTRIBUTE_DIRECTORY = &H10
     Const FILE_ATTRIBUTE_HIDDEN = &H2
     Const FILE_ATTRIBUTE_NORMAL = &H80
     Const FILE_ATTRIBUTE_READONLY = &H1
     Const FILE_ATTRIBUTE_SYSTEM = &H4
     Const FILE_ATTRIBUTE_TEMPORARY = &H100
     
     Dim LONG_01 As Long
     Dim LONG_02 As Long
     Dim LONG_03 As Long
     Dim STRING_01 As String
     Dim GENERAL_FILESYSTEM_01 As GENERAL_FILESYSTEM
     
     PLAYER_INIT
     
     GENERAL.Show
     
     ReDim PLAYER_TYPE_ARRAY(0)
     
     LONG_01 = FindFirstFileA(App.Path & "\" & "*.*", GENERAL_FILESYSTEM_01)
     If (LONG_01 <> -1) Then
     LONG_02 = 200
     LONG_03 = 200
     
     Do
     STRING_01 = Left$(GENERAL_FILESYSTEM_01.StringFileName, InStr(GENERAL_FILESYSTEM_01.StringFileName, Chr$(0)) - 1)
     
     If ((GENERAL_FILESYSTEM_01.LongAttributes And FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) Then
     If (STRING_01 <> ".") And (STRING_01 <> "..") And (STRING_01 <> "System Volume Information") Then
     If (Dir$(App.Path & "\" & STRING_01 & "\Folder.jpg", vbNormal) <> "") Then
     DoEvents
     
     PLAYER_TYPE_ARRAY(UBound(PLAYER_TYPE_ARRAY)).ARTIST = STRING_01
     
     ReDim PLAYER_TYPE_ARRAY(UBound(PLAYER_TYPE_ARRAY)).SONG(0)
     
     PLAYER_READ App.Path & "\" & STRING_01 & "\"
     
     CONTROL_THUMBNAIL(UBound(PLAYER_TYPE_ARRAY)).LOAD App.Path & "\" & STRING_01 & "\Folder.jpg"
     CONTROL_THUMBNAIL(UBound(PLAYER_TYPE_ARRAY)).Left = LONG_02
     CONTROL_THUMBNAIL(UBound(PLAYER_TYPE_ARRAY)).Top = LONG_03
     CONTROL_THUMBNAIL(UBound(PLAYER_TYPE_ARRAY)).Visible = True
     
     ReDim Preserve PLAYER_TYPE_ARRAY(0 To UBound(PLAYER_TYPE_ARRAY) + 1)
     
     LOAD CONTROL_THUMBNAIL(UBound(PLAYER_TYPE_ARRAY))
     
     LONG_02 = LONG_02 + 2200
     
     If LONG_02 = 11200 Then
     LONG_02 = 200
     LONG_03 = LONG_03 + 2200
     End If
     
     PICTURE_PLAYER.Top = LONG_03 + 2200
     PICTURE_GENERAL.Height = LONG_03 + 2900
     GENERAL.Height = LONG_03 + 2900
     End If
     End If
     End If
     Loop While FindNextFileA(LONG_01, GENERAL_FILESYSTEM_01)
     End If
     
     FindClose LONG_01
    End Sub
    
    
    
    
    '+++++++++++++++++++++++++++++++++++++++++++++
    'PLAYER_READ
    '+++++++++++++++++++++++++++++++++++++++++++++
    Public Sub PLAYER_READ(ByRef VALUE As String)
     Const FILE_ATTRIBUTE_ARCHIVE = &H20
     Const FILE_ATTRIBUTE_COMPRESSED = &H800
     Const FILE_ATTRIBUTE_DIRECTORY = &H10
     Const FILE_ATTRIBUTE_HIDDEN = &H2
     Const FILE_ATTRIBUTE_NORMAL = &H80
     Const FILE_ATTRIBUTE_READONLY = &H1
     Const FILE_ATTRIBUTE_SYSTEM = &H4
     Const FILE_ATTRIBUTE_TEMPORARY = &H100
    
     Dim LONG_01 As Long
     Dim STRING_01 As String
     Dim GENERAL_FILESYSTEM_01 As GENERAL_FILESYSTEM
     
     LONG_01 = FindFirstFileA(VALUE & "*.*", GENERAL_FILESYSTEM_01)
     If (LONG_01 <> -1) Then
     Do
     STRING_01 = Left$(GENERAL_FILESYSTEM_01.StringFileName, InStr(GENERAL_FILESYSTEM_01.StringFileName, Chr$(0)) - 1)
     
     If ((GENERAL_FILESYSTEM_01.LongAttributes And FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) Then
     If (STRING_01 <> ".") And (STRING_01 <> "..") And (STRING_01 <> "System Volume Information") Then
     PLAYER_READ VALUE & STRING_01 & "\"
     End If
     Else
     If (Right(STRING_01, 4) = ".mp3") Then
     PLAYER_TYPE_ARRAY(UBound(PLAYER_TYPE_ARRAY)).SONG(UBound(PLAYER_TYPE_ARRAY(UBound(PLAYER_TYPE_ARRAY)).SONG)) = VALUE & STRING_01
     
     ReDim Preserve PLAYER_TYPE_ARRAY(UBound(PLAYER_TYPE_ARRAY)).SONG(0 To UBound(PLAYER_TYPE_ARRAY(UBound(PLAYER_TYPE_ARRAY)).SONG) + 1)
     End If
     End If
     Loop While FindNextFileA(LONG_01, GENERAL_FILESYSTEM_01)
     End If
     
     FindClose LONG_01
    End Sub
    
    '+++++++++++++++++++++++++++++++++++++++++++++
    'PLAYER_PLAY
    '+++++++++++++++++++++++++++++++++++++++++++++
    Public Sub PLAYER_PLAY()
     Dim LONG_01 As Long
     
     Randomize
     
     LONG_01 = Int(UBound(PLAYER_TYPE_ARRAY(PLAYER_INDEX).SONG) * Rnd)
    
     FSOUND_Stream_Stop PLAYER_HANDLE
     FSOUND_Stream_Close PLAYER_HANDLE
    
     PLAYER_HANDLE = FSOUND_Stream_Open(PLAYER_TYPE_ARRAY(PLAYER_INDEX).SONG(LONG_01), FSOUND_NORMAL, 0, 0)
     
     PLAYER_ARTIST = PLAYER_TYPE_ARRAY(PLAYER_INDEX).ARTIST
     PLAYER_SONG = Mid(PLAYER_TYPE_ARRAY(PLAYER_INDEX).SONG(LONG_01), InStrRev(PLAYER_TYPE_ARRAY(PLAYER_INDEX).SONG(LONG_01), "\") + 1, Len(PLAYER_TYPE_ARRAY(PLAYER_INDEX).SONG(LONG_01)) - InStrRev(PLAYER_TYPE_ARRAY(PLAYER_INDEX).SONG(LONG_01), "\") - 4)
     
     If (PLAYER_HANDLE = 0) Then
     MsgBox "FMOD ERROR"
     
     FSOUND_Close
     
     End
     End If
     
     FSOUND_Stream_Play 0, PLAYER_HANDLE
     
     PLAYER_UPDATE_VOLUME
     
     PLAYER_LENGTH = FSOUND_Stream_GetLengthMs(PLAYER_HANDLE)
    End Sub
     
  2. 24. Februar 2009
    AW: PLAYER

    gut, das gleiche macht mein itunes auch, aber nice work, jetzt noch scrobbeln mit last.fm einbauen und e voila
     
  3. 24. Februar 2009
    AW: PLAYER

    ich hatte auch erst songbird in den hängen, nur wollt ich das ganze auf ne dvd packen (bday) - das wäre mit itunes oder songbird problematisch gewesen. außerdem wars eh net sonderlich viel arbeit und ich kanns meinen wünschen anpassen.
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.