.NET - Wie kann ich MIDI-Files abspielen

Status
Für weitere Antworten geschlossen.

jannik93

Well-known member
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... -.-
 
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.
 
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.

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten