Stephan B. Geschrieben 21. März 2005 Geschrieben 21. März 2005 Guten Abend, Ich habe vorher mit Visual Basic 6 gearbeitet, versuch jetzt seit einiger Zeit auf VB.NET umzusteigen. Deshalb versuche ich meinen in VB 6 geschriebenen MP3 Player VB.NET tauglich zu machen. Verwendet wird: Microsoft Windows XP home Edition Microsoft Visual Studio 2005 .NET Express Ich stoße allerdings schon jetzt auf Probleme, dabei habe ich gerade erstmal geschafft aus der Datenbank (access) über ADODB die Titel mit Windows-Adresse ( C:\**.mp3 ) abzurufen. Jetzt meine Frage, ich möchte gerne den Titel ( der in mp3title steht ) abspielen und auf Pause stellen können. Hier nochmal wie ich den Titel gespeichert habe: Dim mp3title as String mp3title = load(ListBox1.SelectedItem) mp3title = make(mp3titel) [...] mp3title = mp3title load() [Läd den Entsprechenden Datensatz aus ser DB] make() [Mach eine Korregte Windows-Adresse (C:\)] Kann mir einer helfen? Danke! Zitieren
Manfred.Becker Geschrieben 22. März 2005 Geschrieben 22. März 2005 Hi, zu VB.NET und MP3 findest du hier ein paar Infos: MP3-Titelinformationen mit .NET auslesen mciSendString-API Zitieren
Stephan B. Geschrieben 22. März 2005 Autor Geschrieben 22. März 2005 Hi, Ich habe nun folgendes: Dim conn As Connection Dim data As Recordset Dim selected As String Dim filename As String Dim fileurl As String conn = New Connection conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Programmierung\VB .NET\Media Player\Programmcode\Media Player\Datenbank\mplayer.mdb" conn.Open() selected = ListBox1.SelectedItem If Not selected = "" Then data = New Recordset data.Open("SELECT * FROM MediaPlayer WHERE titel='" + selected + "'", conn) filename = data.Fields.Item(1).Value fileurl = data.Fields.Item(2).Value data.MoveNext() mciClose() mciOpen(fileurl) mciPlay() Else MsgBox("Sie haben keine Datei ausgewählt", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "Keine Datei ausgewählt") End If in selected steht die Ausgewählte Datei, überprüft mit msgbox! in fileurl steht dannn C:\test.mp3 diese gibt es da auch! Als nächstes habe ich: Public Sub mciOpen(ByVal sFile As String, Optional ByVal hwnd_Output As Integer = 0) Dim sType As String Dim nResult As Integer Dim sExt As String Dim bVideo As Boolean On Error Resume Next ' Multimedia-Typ ermitteln sType = mciGetType(sFile, bVideo) ' File öffnen mciSendString("open " & sFile & " type " & sType & " alias TempMCI", CStr(0), 0, 0) System.Windows.Forms.Application.DoEvents() ' Zeitformat auf Millisekunden einstellen mciSendString("set TempMCI time format milliseconds", CStr(0), 0, 0) System.Windows.Forms.Application.DoEvents() ' Falls es sich um eine Video-Datei handelt... If bVideo And hwnd_Output <> 0 Then mciSendString("window TempMCI handle " & CStr(hwnd_Output), CStr(0), 0, 0) End If End Sub Allerdings kommt keine Fehlermeldung an die funktion wird mciopen("C:\test.mp3") übertragen! Es kommt keine Fehlermeldung ! MfG Stephan Zitieren
Stephan B. Geschrieben 22. März 2005 Autor Geschrieben 22. März 2005 Habe nun das: Public Function mciopen(ByVal sfile As String) As String mciSendString("open " & sfile & " type MPEGVideo alias TempMCI", 0, 0, 0) Return 0 End Function Public Function mciplay(ByVal nFromPos As Integer) As String nFromPos = "0" mciSendString("play TempMCI from " & CStr(nFromPos), 0, 0, 0) mciSendString("put TempMCI destination", 0, 0, 0) Return 0 End Function wenn es lange Namen mit Leerzeichen sind, dann werden die nicht wiedergegeben. Was kann ich dagegen tun? Danke Zitieren
Manfred.Becker Geschrieben 22. März 2005 Geschrieben 22. März 2005 Hi, in diesem fall musst du umschliessende Hochkommas verwenden: MP3Filename = Chr(34) & "c:\test mit langem namen.mp3" & Chr(34) [/PHP] Zitieren
Stephan B. Geschrieben 22. März 2005 Autor Geschrieben 22. März 2005 Was ist den chr(34) ? chr(10) kenne ich das ist doch Zeilenumbruch oder? Aber 34? Danke! Zitieren
Stephan B. Geschrieben 22. März 2005 Autor Geschrieben 22. März 2005 Achso chr(34) ist das hochkomma. Ok Danke dir es funktioniert. Zitieren
Manfred.Becker Geschrieben 22. März 2005 Geschrieben 22. März 2005 in diesem fall musst du umschliessende Hochkommas verwenden: ...wer lesen kann ist klar im Vorteil trotzdem, keine Ursache Zitieren
Stephan B. Geschrieben 22. März 2005 Autor Geschrieben 22. März 2005 mich haben die kommas vor C:\ irretiert deshalb: MP3Filename = Chr(34) & "c:\test mit langem namen.mp3" & Chr(34) ich dachte ich soll C:\... mit " "umklammern" Danke dir aber für deine Antworten es funktioniert es ergibt dann ja ""C:\..."" :bimei Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.