Videos abspielen

  • VB.NET

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von Marceliboy.

    Videos abspielen

    Hallo,
    weiß irgend jemand wie man in einer Form ein Video aus den Resourcen abspielen kann.
    Wäre toll wenn es im Windows Media Player -Steuerelement machen könnte.

    Ich freue mich auf hilfreiche Antworten
    -- Marceliboy

    Falsches Unterforum -> Verschoben. ~fufu

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „fufu“ ()

    Was hat das mit Datenbankprogrammierung zu tun?
    Wie wäre es mit Extrahieren und danach abspielen? ;)
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    2 Fragen, die primär nix miteinander zu tun haben.
    1. Wie kannst Du dem Windows Media Player mitteilen, was er zu spielen hat?
      Welche Parameter akzeptiert er?
    2. Wie behandle ich eine Movie-Datei in den Ressourcen, dass sie der Windows Media Player abspielen kann?
    Mit den Ergebnissen fütterst Du die Suchfunktion im Forum und bei Frau Google und Dir wird geholfen. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Eigentlich müsste es doch einen einfachen Code geben um Videos abzuspielen.
    Keine Ahnung wie der dann lautet aber:

    VB.NET-Quellcode

    1. AxWindowsMediaPlayer1.video.play=My.resources.Video.avi
    oder so etwas ist es ja nicht.
    Bitte helft mir ich möchte langsam das Programm fertig schreiben.
    msdn.microsoft.com/en-us/library/dd564585%28v=vs.85%29.aspx

    BTW: Google spuckt so viel aus:

    Vorsicht, ist Strict off geschrieben, müsstest es also anpassen:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Explicit On
    2. Option Strict Off
    3. Imports System.Reflection ' Wegen Zugriff auf Assembly, etc.
    4. Imports System.IO ' Wegen Stream, FileStream, BinaryReader, BinaryWriter
    5. Public Class Form1
    6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    7. Handles Button1.Click
    8. Const PlayerMitPfad As String = "C:\Programme\Windows Media Player\wmplayer.exe"
    9. Dim WMPProcess As Process
    10. Dim TempAVINameMitPfad As String
    11. TempAVINameMitPfad = DateiKopieErstellen("clock.avi") ' Funktionsaufruf
    12. Try
    13. WMPProcess = New Process ' Gibt ein Object zurück
    14. With WMPProcess
    15. .StartInfo.FileName = PlayerMitPfad ' Voller Dateipfad
    16. .StartInfo.Arguments = """" & TempAVINameMitPfad & """" ' AVI Datei
    17. .StartInfo.WindowStyle = ProcessWindowStyle.Normal ' Fensterart
    18. .StartInfo.Verb = "Open" ' Datei abspielen
    19. .StartInfo.CreateNoWindow = False
    20. .StartInfo.UseShellExecute = False ' Defaultwert
    21. .Start()
    22. End With
    23. Catch ex As Exception
    24. MessageBox.Show(ex.Message)
    25. End Try
    26. End Sub
    27. ' ********************************************************************************
    28. Function DateiKopieErstellen(ByVal Dateiname) As String
    29. Dim StreamAusAssy As Stream
    30. Dim br_Stream As BinaryReader
    31. Dim fs_TempDatei As FileStream
    32. Dim bw_TempDatei As BinaryWriter
    33. Dim DateiKopieMitPfad As String
    34. Dim EinzelByte As Byte
    35. Dim AnzahlBytesGelesen As Long
    36. ' Dateikopie erstellen im Ordner, aus dem die Programm.exe gestartet wurde
    37. DateiKopieMitPfad = Application.StartupPath & "\Kopie_" & Dateiname
    38. ' Prüfung, ob Datei schon existiert
    39. If File.Exists(DateiKopieMitPfad) Then
    40. Return DateiKopieMitPfad ' Wenn ja: Exit
    41. End If
    42. fs_TempDatei = New FileStream(DateiKopieMitPfad, FileMode.Create)
    43. bw_TempDatei = New BinaryWriter(fs_TempDatei)
    44. ' Den Ort der 'eingebetteten Ressource' in der Assembly ermitteln
    45. StreamAusAssy = Assembly.GetExecutingAssembly().GetManifestResourceStream( _
    46. "WindowsApplication4." & Dateiname) 'Namespace und Name
    47. br_Stream = New BinaryReader(StreamAusAssy)
    48. ' Temporäre Datei erstellen durch Kopieren aus der Assembly
    49. Try
    50. EinzelByte = br_Stream.ReadByte ' 1 Byte lesen
    51. AnzahlBytesGelesen = 1
    52. Do Until AnzahlBytesGelesen = StreamAusAssy.Length
    53. bw_TempDatei.Write(EinzelByte) ' Byte in Dateikopie schreiben
    54. EinzelByte = br_Stream.ReadByte ' 1 Byte lesen
    55. AnzahlBytesGelesen = AnzahlBytesGelesen + 1
    56. Loop
    57. Catch ex As Exception
    58. MessageBox.Show(ex.Message)
    59. DateiKopieMitPfad = String.Empty ' Fehler: Rückgabepfad bleibt leer
    60. End Try
    61. ' Dateien schließen
    62. bw_TempDatei.Close()
    63. fs_TempDatei.Close()
    64. br_Stream.Close()
    65. ' Pfad der temporären Datei zurückgeben
    66. Return DateiKopieMitPfad
    67. End Function
    68. End Class
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.

    Ich bin ratlos

    Wie entpackt man eine Resource?
    Zunächst solltest du die Resource entpacken.

    Und ohne die Resource zu entpacken scheint:

    VB.NET-Quellcode

    1. File.WriteAllBytes("pfad", deine resource)
    2. AxWindowsMediaPlayer1.Url = pfad
    3. AxWindowsMediaPlayer1.play()

    nicht zu gehen.
    Wenn ich

    VB.NET-Quellcode

    1. File.WriteAllBytes("C:\Videos\Video1", Video1)
    2. AxWindowsMediaPlayer1.Url = C:\Videos\Video1
    3. AxWindowsMediaPlayer1.play()
    schreibe, dann unterringelt er:
    File.WriteAllBytes("C:\Videos\Video1", Video1)
    AxWindowsMediaPlayer1.Url = C:\Videos\Video1
    AxWindowsMediaPlayer1.play()

    Was tue ich dagegen ?(

    Marceliboy schrieb:

    Was tue ich dagegen
    Das Studio redet mit Dir. Höre auf es.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wenn du System.Io importierst dann passt das mit dem File. Schreibe statt Video1 My.Ressorces.Video1 .

    Außerdem heist es AxWindowsMediaPlayer1.Ctlcontrols.play() (oder so ähnlich schau mal durch die Intellisense durch). Weiterhin kann ich dem Namen des Players entnehmen, dass du deine Controls nicht vernüftig und logisch bennenst, was mich zum nächsten Punkt bringt:

    Auch wenn es dich jetzt maßlos ärgern wird: Nimm dir ein Buch und arbeite es durch. Hinterher kannst du dir solche Fragen sparen und du wirst in Zukunft von derlei Peinlichkeiten verschont bleiben (Sinnlose Thread Erstellung) ;).

    8-) faxe1008 8-)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „faxe1008“ ()

    Also. Ich habe es jetzt geschafft mit hilfe von: faxe1008 und RodFromGermany Videos aus meinen Resourcen abzuspielen aber ich stehe vor folgendem Problem: Ich möchte diese Videos an anderen Computern auch abspielen.
    Gibt es so einen Code auch?

    -- Marceliboy

    Marceliboy schrieb:

    Gibt es so einen Code auch?

    Zwei Sachen zu dieser Frage:
    - Du implizierst wohl das wir das hier fertig alles hinklatschen
    - Es gibt für alles einen Code

    Am einfachsten würde das gehen das Video zu verschicken (um himmelwillen bloß kein ftp) auf dem Client abspielen => feddich

    8-) faxe1008 8-)
    Genau! Ich möchte dieses Programm meinen Eltern auf den USB-Stik spielen damit sie die Videos auch sehen können. Ich möchte ihnen nicht die ganze Projektmappe geben sondern nur dieses eine Programm damit es einfacher zu finden ist.

    Bei mir ist es nicht möglich die Videos abzuspielen obwohl sie in den Resourcen sind. :rolleyes:

    -- Marceliboy