Vollständige Version anzeigen : [Visual Basic] MP3 Player


Hardwarehunger
24.02.2009, 14:16

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 (;;;xup~in/dl,16935567/PLAYER;RAR/)


SCREENSHOT
;;;xup~in/pic,52992185/2009-02-24_140154;PNG

QUELLCODE
(der wichtigste, der rest sollte logisch sein)
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

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
DarkRaven
24.02.2009, 14:32

gut, das gleiche macht mein itunes auch, aber nice work, jetzt noch scrobbeln mit last~fm einbauen und e voila ;)


Hardwarehunger
24.02.2009, 14:37

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.


Ähnliche Themen zu [Visual Basic] MP3 Player
  • Benutzt Ihr Visual Basic 6 oder Visual Studio 2005 (.net)?
    Ja Hi, woltle mal wissen ob ihr noch das "alte" ( :rolleyes: ) Visual Basic 6;0 oder das neue Visual Studio 2005 (~net) benutzt?? Votete einfach mal. ;) [...]

  • [.NET] C, C++, C#, Basic, Visual Basic, Java, Shell, Linux-Unix und Pascal Tutorials
    Hier findet ihr einige Links zu Tutorials verschiedenster Programmiersprachen. Solltet ihr noch einen oder mehrere Links wissen die hier fehlen, so teilt ihn einem Programmierungs Moderator mit, er wird ihn dan hinzufügen. C, Pascal und Basic (;;;tutorials~at) (deutsch) Pascal, Delphi, Vb, C#, C, [...]

  • [Visual Basic] Cd Laufwerk öffnen/schließen in Visual Basic
    Hier ist die Code für Cd Laufwerk öffnen und schließen Option Explicit Private Declare Function mciExecute Lib "winmm;dll" (Byval lpstrcommand as String) as Long Private sub cmdoffne_CLick() mciexecute"Set CDaudio door open" Private sub cmdschließen_click() mciExecute"Set CDaudio door close [...]

  • [Visual Basic] Web Browser mit MP3 Player :)
    Hey Ich hab mal aus Langeweile einen WebBrowser mit einem MP3 Player gemacht ;) ist mein erster :P Screen : Bilder-Upload - Kostenlos Fotos hochladen und ins Netz stellen (;;;bilder-upload~eu/show;php?file=Y2QFGyqtR8f8WXT;jpg) VT : (;;;virustotal~com/de/analisis/a15a000544271843ce370f07273 [...]



raid-rush.ws | Imprint & Contact pr