Veröffentlicht 21. März 200520 j 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!
22. März 200520 j Hi, zu VB.NET und MP3 findest du hier ein paar Infos: MP3-Titelinformationen mit .NET auslesen mciSendString-API
22. März 200520 j 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
22. März 200520 j 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
22. März 200520 j Hi, in diesem fall musst du umschliessende Hochkommas verwenden: MP3Filename = Chr(34) & "c:\test mit langem namen.mp3" & Chr(34) [/PHP]
22. März 200520 j Was ist den chr(34) ? chr(10) kenne ich das ist doch Zeilenumbruch oder? Aber 34? Danke!
22. März 200520 j in diesem fall musst du umschliessende Hochkommas verwenden: ...wer lesen kann ist klar im Vorteil trotzdem, keine Ursache
22. März 200520 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.