| |
VB & Windows APImidi port treiber name | | | Autor: buchel | Datum: 05.11.07 14:58 |
| Hallo!
Ich schreibe ein Programm, mit dem ich midi Daten an einen Midi Port ausgeben möchte. (Ziel ist es durch ein virtuelles midikabel einen audiosequencer wie z.b. Cubase zu steuern). Um eine genaue Identifizierung jedes Ports zu ermöglichen möchte ich die Namen der installierten Porttreiber abfragen. Mit MCI komme ich da leider nicht sehr weit. Probiere es deshalb mit Hilfe der midiOutGetNumDevs und midioutmessage Funktionen.
Public Class MidiPort
Private Declare Function midiOutMessage Lib "winmm.dll" (ByVal hMidiOut As _
Integer, ByVal msg As String, ByVal dw1 As String, ByVal dw2 As Integer) _
As Integer
Private Declare Function midiOutGetNumDevs Lib "winmm.dll" () As Integer
Private Sub MidiPort_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim Anzahlports As Integer
Dim Portname As String = Space(128)
Dim retVal1 As Integer
Anzahlports = midiOutGetNumDevs
For i As Integer = 0 To (Integer.Parse(Anzahlports) - 1)
retVal1 = midiOutMessage(i, "DRV_QUERYDEVICEINTERFACE", Portname, _
128)
MessageBox.Show(Portname)
Next i
End Sub
Private Sub MidiPorterfassung()
End Sub
End Class Anzahlports zeigt bei mir immer 6 an, was auch stimmt (ich habe 6 virtuelle midi ports installiert)
Das Problem dabei ist, dass mir als retval1 immer eine 8 ausgegeben wird (was heißt das? wie kann ich eine Solche fehlermeldung in einen aussagekräftigen String verwandeln) und der String: portname immer 128 Stellen leer ist. Wo liegt da der Fehler? Ändere ich den Typ der Return variablen von Integer in String bekomme ich ein Ausnahme (Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.)
In der Hilfe wird noch etwas über die mmddk.h erzählt, aus dem ich aber nicht schlau werde.
Bitte helft mir, ich hänge da schon ewig
VB.net 2005, Win XP SP2 | |
| 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 |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 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
|
|