vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: MP3 Zeiten ändern 
Autor: Volker Bunge
Datum: 26.12.18 10:29

Hallo Kuno60,

vielen Dank für die Antwort.

So, haben Deinen Code mal getestet. Grundsätzlich funktioniert er, aber leider nur, wenn ich ihn im Einzelschrittmodus laufen lassen.

Hier mal meine Modifikation (ist zwar noch nicht optimal, funktioniert aber mit F8 tadellos. (Endlösung siehte weiter unten).

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) _
      Handles Button3.Click
        Spielzeit_ermitteln("Datei1.mp3")
        Spielzeit_ermitteln("Datei2.mp3")
    End Sub
 
    Sub Spielzeit_ermitteln(datei As String)
        Medi.Open(New Uri(datei))
        '        Application.DoEvents()
        Dim erg As String
        If Medi.NaturalDuration.HasTimeSpan = True Then
            erg = Medi.NaturalDuration.TimeSpan.Hours & ":" & _
              Medi.NaturalDuration.TimeSpan.Minutes & ":" & _
              Medi.NaturalDuration.TimeSpan.Seconds
            MsgBox(erg)
        End If
 
        Medi.Close()
    End Sub
Dann habe ich gedacht, ach mach den Code mal gleich so, wie er eigentlich sein soll. Hier das Ergebnis

#Region "Spielzeit von MP3-Dateien ermitteln"
    ' Verweise auf .net PresentationCore und .net WindowsBase hinzufügen!
    ' Imports System.Windows.Media (vor Public Class) muss auch noch eingefügt 
    ' werden
    Private WithEvents Medi As New MediaPlayer
    Function Spielzeit_ermitteln(datei As String) As String
        ' Öffnet 'intern' die übergebene Datei
        Medi.Open(New Uri(datei))
 
        ' Hierdurch habe ich die Lösung gefunden. Vorher war die Datei wohl 
        ' noch nicht vollständig geladen, aber das Programm war schon 'fertig' 
        ' und daher war das Ergebnis immer leer
        'MsgBox(Medi.BufferingProgress)
        'MsgBox("Weiter")
        'MsgBox(Medi.BufferingProgress)
 
        ' Habe deshalb diese Do While Schleife eingebaut
 
        ' Standardrückgabewert festlegen
        Spielzeit_ermitteln = ""
 
        ' Die Zeit solange ermitteln, bis der BufferingProgress = 1.0 ist und 
        ' die Variable Spielzeit_ermitteln <> "" ist
        ' Jetzt wird halt solange 'gewartet', bis die Datei vollständig geladen 
        ' wurde und die Spieldauer richtig ermittelt werden kann.
        Do
            ' Hier wird geprüft, ob die Zeitangabe vorhanden ist
            If Medi.NaturalDuration.HasTimeSpan = True Then
                ' Jetzt wird die Zeitdarstellung erstellt und über den 
                ' Funktionsnamen zurückgeliefert.
                Spielzeit_ermitteln = Format( _
                  Medi.NaturalDuration.TimeSpan.Hours, "00") & ":" & Format( _
                  Medi.NaturalDuration.TimeSpan.Minutes, "00") & ":" & Format( _
                  Medi.NaturalDuration.TimeSpan.Seconds, "00")
            End If
        Loop While Val(Medi.BufferingProgress) = 0 Or Spielzeit_ermitteln = ""
 
        ' Zum Schluss noch die Datei wieder schließen. Fertig
        Medi.Close()
    End Function
#End Region
So wie im Code beschrieben, bin ich mit BufferingProgress und der Do While Schleife an mein Ziel angekommen.

Werde jetzt mal meine alte Programmierung gegen diese hier tauschen und sehen was passiert.

Vielen Dank für den Denkanstoss, hoffe dass somit mein Problem behoben ist.

Volker

Beitrag wurde zuletzt am 26.12.18 um 10:35:43 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
MP3 Zeiten ändern751Volker Bunge25.12.18 12:11
Re: MP3 Zeiten ändern402effeff25.12.18 13:44
Re: MP3 Zeiten ändern382Volker Bunge25.12.18 18:52
Re: MP3 Zeiten ändern470Kuno6025.12.18 23:13
Re: MP3 Zeiten ändern409Volker Bunge26.12.18 10:29
Re: MP3 Zeiten ändern359Volker Bunge06.01.19 11:11
Re: MP3 Zeiten ändern384Kuno6006.01.19 18:55
Re: MP3 Zeiten ändern354Volker Bunge08.01.19 10:01
Re: MP3 Zeiten ändern347effeff08.01.19 10:17
Re: MP3 Zeiten ändern687Volker Bunge08.01.19 20:30

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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