.NET - Wie kann ich MIDI-Files abspielen VB 

Status
Für weitere Antworten geschlossen.

Jannik

Registered +
Registriert
Apr. 2008
Beiträge
216
Hey Leute,

ist es möglich, mit VB.NET 2008 MIDI-Sequenzen abspielen zu können? Wenn ja, bitte schickt mir ein Beispiel-Project/einen Beispiel-Code...

Danke,

Jannik93
 
So hab jetzt alles korrekt drin, ging auch alles perfekt, nur aufeinmal kann ich ganz plötzlich nichts mehr hören, obwohl er abspielt... -.-
 
Zuletzt bearbeitet von einem Moderator:
Es gibt noch einen Weg um Mediendaten abzuspielen. Man nutzt den Eingebauten Mediaplayer.
Erst mal eine Fensterprojekt anlegen. Dann ein rechtsklick auf die "Toolbox". Dann "Element auswählen" aufrufen. In dem Auswahlmenü dann auf den Reiter "COM-Steuerelemente" wechseln. Den Windows Mediaplayer suchen und anklicken. Jetzt kann man den per Drag and Drop auf die Form ziehen.
Das COntrol in "player" umbenennen (Bei Bedarf invisible machen). Ein "MenüStrip" anlegen und folgendes einfügen:
Code:
File 
Open
Exit

Player
Play
Stop
Pause

Volume
Up
Down
Mute

Einen "OpenFileDialog" auf das Formular packen und in "opd" umbenennen.

Und jetzt noch den Code einfügen:
Code:
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub

Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click
Try
opd.InitialDirectory = "c:\"
opd.ShowDialog()
player.URL = opd.FileName
player.Ctlcontrols.play()
Catch ex As Exception
MessageBox.Show("Some error occur so can't play media", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub

Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
Application.Exit()
End Sub

Private Sub PlayToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayToolStripMenuItem.Click
player.Ctlcontrols.play()
End Sub

Private Sub StopToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopToolStripMenuItem.Click
player.Ctlcontrols.stop()
End Sub

Private Sub PauseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PauseToolStripMenuItem.Click
player.Ctlcontrols.pause()
End Sub

Private Sub UpToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpToolStripMenuItem.Click
player.settings.volume = player.settings.volume + 10
End Sub

Private Sub DownToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DownToolStripMenuItem.Click
player.settings.volume = player.settings.volume - 10
End Sub

Private Sub MuteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MuteToolStripMenuItem.Click
If player.settings.volume = player.settings.mute() Then
player.settings.volume = 20
Else
player.settings.volume = player.settings.mute()
End If
End Sub
End Class

Noch eine Erweiterung:
Das Objektmodell des Mediaplärrers gibt natürlich noch einiges mehr her. Zu finden bei Microsoft auf der Homepage
http://msdn.microsoft.com/en-us/library/bb262038(VS.85).aspx
Das hier verwendeter Interface mit den Kommandos play, stop, ...ist http://msdn.microsoft.com/en-us/library/bb248732(VS.85).aspx
Ist bei MS aber auch alles verlinkt.
 
Zuletzt bearbeitet von einem Moderator:
Dein Tipp hab ich auch schon ausprobiert, allerdings brauch ich ja verschiedene DLL's dafür, richtig? Und das ist doch sicherlich auch größerer...
 
Größer ist es nicht.
Das Programm beihaltet ja den MediaPlayer nicht, sondern hält nur eine Referenz. Ein Problem können verschiedene Versionen des Players sein, was aber bei rudimentären Funktionen wie play, pause, ... nicht ins Gewicht fällt. Ein weiterer Fallstrick ist ein fehlender Mediaplayer auf dem Zielsystem.

Mein Projekt war mit Interop-Dateien 400kb groß.
 
Ja genau, ich hab nämlich was etwas kleineres vor:

Ich hab eine Datei (88kb), eine Art Patch, dort will ich ein wenig Musik einpflanzen...
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten