Suchergebnisse

Suchergebnisse 1-11 von insgesamt 11.

  • Benutzer-Avatarbild

    Kann es sein das sich bei Deinen APIs ein paar Leerzeichen bei Lib und Alias eingeschlichen haben? Auf die schnelle: hwndCallback kein Integer sondern ein IntPtr. Zu mciSendString: Kann sein das sich das mittlerweile geändert hat. Mir ist noch in Erinnerung das mciSendString Probleme mit MP3s hat, die mehr als 128kbit/s aufweisen und das die Spieldauer bei VBR-MP3s falsch zurück gegeben wird. Es gibt durchaus bessere Möglichkeiten als mciSendString zu verwenden um die Spieldauer zu ermitteln. Mi…

  • Benutzer-Avatarbild

    @DTF Vllt hast ja Lust mal die MediaFoundation auszuprobieren. So vor Jahresende hab ich keine Lust mehr Code zu schreiben. 1. API MFStartup(MF_VERSION_2, MFSTARTUP_FULL) 2. API MFCreateSourceReaderFromURL(MediaFile, IntPtr.Zero, IMFSourceReader) 3. IMFSourceReader.GetPresentationAttribute(MF_SOURCE_READER_MEDIASOURCE, MF_PD_DURATION, PROPVARIANT) 4. ist PROPVARIANT.vt = VARTYPE.VT_UI8 ? -> PROPVARIANT.uhVal -> Duration (-> TimeSpan) 5. API PropVariantClear(PROPVARIANT) 6. IMFSourceReader.Releas…

  • Benutzer-Avatarbild

    @DTF Ja dann vllt ein anderer. So kompliziert ist es ja nicht.

  • Benutzer-Avatarbild

    Das ja gleich ein kompletter MediaPlayer per MediaFoundation. Peter329 braucht ja nur die Duration von MP3s und MP4s.

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Mit der MediaInfo.dll und der MediaInfo.Net.dll...“ Really? Eine Drittanbieter-DLL und zusätzlich ein Wrapper nur um die Duration zu ermitteln? *Kopfschüttel* Sorry.

  • Benutzer-Avatarbild

    Zitat von DTF: „Naja, nicht jeder mag sich die Arbeit machen und die Header oder IDLs zu suchen“ github.com/nihon-tc/Rtest/blob….0A/Include/mfreadwrite.h Zitat von DTF: „Mann muss ja auch immer bei MS nachlesen, manche Funktionen sind unter Umständen nicht verfügbar,“ Alle genannten MF-APIs sind Minimum ab WinVista verfügbar. Zitat von DTF: „Da MS Mediaplayer empfiehlt auf der verlinkten Seite ist das Packet für ihm wohl die einfachste und somit beste Variante.“ Da bringst was durcheinander. Die…

  • Benutzer-Avatarbild

    Zitat von DTF: „Peter329 könnte zwar auch selbst die WinRT nutzen, ...“ Nun schauen wir erstmal, wenn Peter329 die zusätzlichen Leerzeichen bei den APIs entfernt hat, ob dann Peter329 sein Code läuft und ob es die von mir genannten Probleme noch gibt. Dann kann er immer noch darüber nachdenken auf eine andere, modernere Methode umzuschwenken. WinRT wäre da nur eine Möglichkeit. Die Duration per MediaFoundation oder per IPropertyStore auszulesen wären vom Aufwand her die einfachsten Möglichkeiten…

  • Benutzer-Avatarbild

    Zitat von DTF: „aber via IPropertyStore bekomme ich die nicht“ Kleiner Tip: Es ist der CanonicalName "System.Media.Duration" -> API PSGetPropertyKeyFromName -> PROPERTYKEY MF-Variante (weil heute Freitag ist, alles in eine Form geklatscht) (Versteckter Text)

  • Benutzer-Avatarbild

    Zitat von DTF: „Also via IPropertyStore geht es doch“ Aber sowas von und ist kaum aufwendiger als die MF-Variante. WinRT-Variante (war nur ein Testprojekt, daher ist da ein bissel mehr drin, mit Verweis auf die Windows.winmd, zusätzlich das Nuget-Paket: System.Runtime.WindowsRuntime.dll, kann man natürlich auch ohne Verweis und NuGet ausschließlich mit WinRT COM-Interfaces und APIs machen) (Versteckter Text) Das reicht für diese Jahr.

  • Benutzer-Avatarbild

    Zitat von DTF: „Die WinRT Interfaces wären für mich interessant.“ Wenn Du das Windows SDK installiert hast, dann findest Du auch in einem Unterordner auch alle WinRT-Klassen (H- und IDL-Dateien) die ja die COM-Interfaces beinhalten. Zur Not findet man auch alles auf GitHub.

  • Benutzer-Avatarbild

    @Peter329 Wie geschrieben gab es mal Probleme per mciSendString. Von daher teste das ausgiebig mit MP3s mit Bitraten größer 128kbit\s und mit VBR-MP3s. Nicht das Dich wunderst das da plötzlich falsche Zeiten per mciSendString zurück geliefert werden falls die Probleme noch bestehen.