vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: MIDI Datei in einer *.exe? 
Autor: Frank1
Datum: 15.03.03 19:16

'Hallo lbex
'Hier ein kleines Beispiel zum "abspielen von Resourcedateien".
'Ein wenig umständlich funktioniert aber.
'Beschreibung : In dem Projekt ist die Resource (.res) Datei resMid.res
'               integriert.
'------------------------------------------------------------------------------
' ---
'Aufbau von resMid.rc :
'//**
'1001    CUSTOM  DISCARDABLE     "test.mid"
'------------------------------------------------------------------------------
' ---
'Kompilierung der Resource-Datei erfolgt durch : Compile.bat
'Aufbau Compile.bat: RC.EXE + RCDLL.DLL müssen sich im Kompilierungspfad 
' befinden.
'RC /fo resMid.res resMid.rc
'------------------------------------------------------------------------------
' ---
'
'p.s. Ich hoffe das noch irgendjemand eine bessere Lösungsmöglichkeit hat.
'N.G.:15.03.03.do.(c)
Private Declare Function mciSendString Lib "winmm.dll" _
                                Alias "mciSendStringA" _
                                (ByVal lpstrCommand As String, _
                                ByVal lpstrReturnString As String, _
                                ByVal uReturnLength As Long, _
                                ByVal hwndCallback As Long) _
                                As Long
 
'Nur zum Test...
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'
 
Private Sub ExtractMidifile(Filename As String)
    Dim bExtractData() As Byte
 
    If Dir$(Filename) <> "" Then Kill Filename          'Ist die Datei 
    ' vorhanden dann löschen
    fno = FreeFile
    Open Filename For Binary As #fno                    'Die Resource wird in 
    ' die übergebene
        bExtractData = LoadResData(1001, "CUSTOM")      'Datei extrahiert und 
        ' gespeichert.
        Put #fno, , bExtractData
    Close #fno
    'Test ob die Datei existiert...implementieren
    'hier...
    'Wenn ja wird die im Anwendungspfad liegende .mid Datei abgespielt
    Dim sBuffer     As String
    Dim lRet        As Long
    Dim sSend       As String
 
    sSend = "open sequencer!" & Filename & " alias midi"
    sBuffer = Space$(255)
    lRet = mciSendString(sSend, sBuffer, 255, 0&)
    Debug.Print lRet
    If lRet Then MsgBox "Fehler :", , "Fehler..."
    lRet = mciSendString("play midi", sBuffer, 255, 0&)
    '
    'Zum Testen...
    Call Sleep(5000)
    'und löschen
    Call Kill(Filename)
End Sub
 
Public Sub StoppMidifile()
    Dim sBuffer     As String
    Dim lRet        As Long
 
    sBuffer = Space$(255)
    lRet = mciSendString("stop midi", sBuffer, 255, 0&)
    lRet = mciSendString("close midi", sBuffer, 255, 0&)
End Sub
 
Private Sub Command1_Click()
    Call ExtractMidifile(App.Path & "\test_resource.mid")
End Sub
 
Private Sub Command2_Click()
    Call StoppMidifile
End Sub
 
Private Sub Form_Load()
    Command1.Caption = "&Play"
    Command2.Caption = "&Stop"
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    Call StoppMidifile
End Sub
'MfG
'Frank
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
MIDI Datei in einer *.exe?86Ibex15.03.03 16:53
Re: MIDI Datei in einer *.exe?290E715.03.03 18:44
Re: MIDI Datei in einer *.exe?53Frank115.03.03 19:16
Re: MIDI Datei in einer *.exe?47Ibex16.03.03 16:01
Re: MIDI Datei in einer *.exe?57Frank116.03.03 16:38

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel