MCI Player Spieldauer anzeigen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Otti.

    MCI Player Spieldauer anzeigen

    Hallo liebe Forenmitglieder

    Bin ein Anfänger in Sachen VB. Nach langem hin und her habe ich ein Programm geschrieben mit welchem ich mp3 Lieder über Tastendruck der Tastatur abspielen kann. Soweit klappt auch alles, allerdings möchte ich in einem "LabelText" mir die Spieldauer der Liedes anzeigen lassen. Bin da leider etwas über fragt wie ich dies machen soll. Ich denke das es mit einem Timer klappen wird, weis es aber nicht. Desweiteren habe ich das Problem das ich ein Lied, als Beispiel über Tastendruck "A" immer nur einmal abspielen kann. Um es wieder zum laufen zubekommen, bin ich gezwungen vorher immer einen Stop durch zuführen.

    Private
    Sub MP3_Stop(ByVal sAlias AsString)
    mciSendString(
    "stop " & sAlias, 0, 0, 0)
    mciSendString(
    "close " & sAlias, 0, 0, 0)
    EndSub

    Was mache ich falsch, komme leider nicht weiter. Hier mal mein Code des MCI Players

    Public
    Function MP3_Play(ByVal sFile AsString, _
    ByVal sAlias AsString) AsBoolean
    Dim bResult AsBooleanDim sBuffer AsStringDim lResult AsLong
    sBuffer = Space$(255)

    lResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))

    If lResult <> 0 Then

    sFile = Microsoft.VisualBasic.Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)

    ' MCI öffnen

    lResult = mciSendString(
    "open " & sFile & _
    " type MPEGVideo alias " & sAlias, 0, 0, 0)
    If lResult = 0 Then
    ' MP3 abspielenIf mciSendString("play " & sAlias & _
    " from 0", 0, 0, 0) = 0 Then

    bResult =
    True
    EndIfEndIfEndIf
    MP3_Play = bResult

    EndFunction



    Da es vermutlicherweise, für "Könner" ein Kinderspiel seien wird würde ich mich freuen wenn mir jemand mein Code verbessern könnte.

    Danke Euch allen im vorraus für eure Hilfe
    Erstmal bitte den Code formatieren. Außerdem würde mich mal interessieren, weshalb du so nen veraltetes Zeug verwendest. Verwende doch das WMP-Control oder irgendeine andere Audiobibliothek.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    MCISendString ist direkt WinAPI, du machst dir damit nur unnötige Arbeit und bekommst nur ein miserables Ergebnis. Versuchs doch mal mit ner anständigen Audiobibliothek wie Bass (würde ich empfehlen, da sie am seit sten verbreitet ist uns viele Formate abspielen kann) oder CSCore (von thefiloe, welcher schon vorher hier gepostet hat) oder auch NAudio. Zu allen sollten sich Tutorials oder Beispielcode finden lassen, auf dem du dann aufbauen kannst.

    MfG Stefan

    Will irgendwie nicht

    Danke für eure Tipps, allerdings habe ich es mit Bass versucht und nach einigen tagen herum kaspern bin ich leider immer noch nicht schlauer....
    Bekomme leider direkt nach klick auf dem button einen fehler ausgespuckt und weis nicht wieso !?!?!

    Habe ich da einen Tippfehler?

    Habe nach Tuto. gearebitet, erst bass installiert , Verweis in Projekt eingefügt und dann den Code eingesetzt.....bekomme folgenden Fehler

    Siehe Anhang

    Würde mich freuen wenn ihr mal wieder so nett seit und mir einen Tip oder auch gerne eine Lösung geben würdet zum einfachen mp3 abspielen...

    Danke euch
    Bilder
    • fehlerbassdll.PNG

      45,87 kB, 1.345×484, 142 mal angesehen
    Liegt die native dll ebenfalls im Programmverzeichnis? Also die Bass.NET.dll und die Bass.dll?
    Alternativ kannst du auch wirklich folgendes versuchen: [VB 2010] CSCore - Einstiegstutorial 01


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Guten Morgen zusammen

    ich kann mir vorstellen das ich euch bestimmt mittlerweile nerve , aber ich denke das es gar nicht an mir sondern an meinem VB liegt ?!?
    Habe versucht nach dem cscore tuto. zuarbeiten, allerdings scheitert es da schon bei der Installation.
    Nach dem Nuget heruntergeladen war , bekomm ich andauernd eine Fehler Meldung das das packet nicht installiert werden kann ?!?!

    Jetzt mal ehrlich bin ich zu blöd dafür dann höre ich sofort auf , oder kann es wirklich an meinem VB liegen??
    Wäre es vielleicht gut wenn ich dies komplett deinstallieren und neu aufspiele ???

    :( schön tag euch allen