Sounds/Videos abspielen ohne DirectX

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von HaRoWagner.

    Sounds/Videos abspielen ohne DirectX

    Hallo,

    wie kann man denn Sounds und Videos abspielen außer mit
    dem AxMediaPlayer oder dem VLC Plugin oder ähnlichem oder
    DirectX?

    Freue mich auf Antworten.

    MFG

    Alex-Digital :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D
    @Alex-Digital

    Geht in einer PictureBox.
    vbarchiv.net/tipps/tipp_624-av…picturebox-abspielen.html

    VB.NET-Quellcode

    1. Option Explicit
    2. ' benötigte API-Deklarationen
    3. Private Declare Function mciSendString Lib "winmm.dll" _
    4. Alias "mciSendStringA" ( _
    5. ByVal lpstrCommand As String, _
    6. ByVal lpstrReturnString As String, _
    7. ByVal uReturnLength As Long, _
    8. ByVal hwndCallback As Long) As Long
    9. Private Declare Function GetShortPathName Lib "kernel32" _
    10. Alias "GetShortPathNameA" ( _
    11. ByVal lpszLongPath As String, _
    12. ByVal lpszShortPath As String, _
    13. ByVal cchBuffer As Long) As Long
    14. ' AVI-File öffnen
    15. Private Sub AVI_Open(ByVal sFile As String)
    16. Dim sBuffer As String * 256
    17. Dim nResult As Long
    18. ' DOS-Namen ermitteln (8.3-Format)
    19. nResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
    20. sFile = Left$(sBuffer, nResult)
    21. ' AVI öffnen
    22. ' öffnet ein Gerät und eine Multimedia-Datei
    23. mciSendString "open " & sFile & " type avivideo" & _
    24. " alias myAVI", 0, 0, 0
    25. ' Anzeige in der PictureBox
    26. mciSendString "window myAVI handle " & _
    27. CStr(Picture1.hWnd), 0, 0, 0
    28. End Sub
    29. ' AVI in PictureBox abspielen
    30. Private Sub AVI_Play()
    31. mciSendString "play myAVI from 0", 0, 0, 0
    32. End Sub
    33. ' Abspielvorgang stoppen
    34. Private Sub AVI_Stop()
    35. mciSendString "close myAVI", 0, 0, 0
    36. End Sub
    37. ' MCI Schließen
    38. Private Function AVI_Close()
    39. mciSendString "close myAVI", 0, 0, 0
    40. End Function
    41. ' AVI öffnen und abspielen
    42. Private Sub cmdPlay_Click()
    43. Dim sFile As String
    44. ' Dateiname
    45. sFile = "c:\winnt\clock.avi"
    46. ' MCI öffnen
    47. AVI_Open sFile
    48. ' Abspielvorgang starten
    49. AVI_Play
    50. End Sub
    51. ' Abspielvorgang beenden und MCI schließen
    52. Private Sub cmdStop_Click()
    53. AVI_Stop
    54. AVI_Close
    55. End Sub
    Hallo,

    @programmer71:

    funktioniert das auch nicht anders.

    Weil das ist VB6. Naja, hab früher auch damit gearbeitet,
    aber gibt es nicht ne Lösung wie DirectX, die auf jedem Computer
    kompatibel ist und auch so einfach funktioniert.

    Weil wenn ich das DirectX SDK-Setup installiere, kommt immer zum
    Schluss ein Fehler und da steht, ich soll alle Programme schließen und
    alles nochmal machen.

    Habs probiert, hat dann aber immer noch nicht funktioniert, das Setup.

    Kann jemand helfen?

    Freue mich auf Antworten.

    MFG

    Alex-Digital :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D
    Hallo,

    @HaRoWagner:

    Hast du nicht gelesen, dass bei mir nicht mal das Setup vom DirectX-SDK ging?

    Gibt es keine Alternative?

    MFG

    Alex-Digital :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D
    doch hatte ich gelesen, aber nicht verstanden was Du wolltest. Was soll denn eine Alternative sein?
    imo kannst Du ansonsten die Mediafiles ansonsten nur mittels process.start über deren registrierte Anwendung öffnen. Dann kannst Du aber gleich den Explorer nehmen um die Files zu öffnen.
    Die vom Programmer vorgeschlagene Alternativlösung hast Du ja bereits abgelehnt.

    Bei mir schlägt die Installation der "DXSDK_Jun10.exe" übrigens auch fehl mit "Error Code: S1023"
    Es werden im Web dazu allerdings Lösungen vorgeschlagen, die ich allerdings noch nicht ausprobiert habe.
    DirectX läuft auch quasi jedem Windowsrechner. Von dem her verstehe ich nicht was dein Problem ist. Das SDK kannst du garantiert installieren. Der Fehler am Ende kommt bei mir auch am Ende der Installation. Wenn ich jedoch nachschaue wurde bei mir das SDK trotzdem installiert(muss aber auch sagen, dass ich nur auf die C++ Komponenten geschaut habe).
    Ansonsten kannste halt noch DirectShow verwenden. sourceforge.net/projects/directshownet/


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

    thefiloe schrieb:

    DirectX läuft auch quasi jedem Windowsrechner. Von dem her verstehe ich nicht was dein Problem ist. Das SDK kannst du garantiert installieren. Der Fehler am Ende kommt bei mir auch am Ende der Installation. Wenn ich jedoch nachschaue wurde bei mir das SDK trotzdem installiert(muss aber auch sagen, dass ich nur auf die C++ Komponenten geschaut habe).
    Irgend etwas scheint zu fehlen, denn obwohl die benötigte DLL installiert sind und auch in den Verweisen im Projekt eingetragen ist funktioniert das Programm dennoch nicht.

    Videos ohne DirectX wiederzugeben ist eigentlich gar nicht möglich. Bei der oben genannten Methode mit MCI (die übrigens auch für .Net noch funktioniert) kommst du zwar nicht mehr damit in Berührung, es handelt sich aber eigentlich auch nur um einen DirectX-Aufsatz. Allerdings solltest du MCI heutzutage nicht mehr verwenden, da du damit quasi keine Möglichkeiten hast außer Play, Pause, Stopp. Nimm also lieber DirectShow, wie es dir thefiloe vorgeschlagen hat, das ist auch die Engine, auf der die meisten Mediaplayer basieren.

    Gonger96 schrieb:

    Welches Framework benutzt du ?
    Ah *ditsch*, ich lese das erst jetzt richtig auf der Projektseite :
    You will need the Latest version DirectX SDK for .Net 3.5. Visual Studio
    2012, VB.NET. The player use .NET Framework 3.5 to be compatible with
    the Microsoft.DirectX.AudioVideoPlayBack.dll library. The 2012 version now plays *.avi, *.flv, *.wmv, *.divX, *.xvid, *.mpeg, *.mpg as long as you have the codecs installed.
    Das Framework 3.5 ist auf meinem rechner nicht installiert, dann kann es nicht funktionieren.
    Nun ich habe mich auch nur aus reinem Interesse beteiligt, ich brauch das nicht zu haben :)

    Danke.