ΠΡΡΡ Π»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°?
Π― Π·Π½Π°Ρ, ΡΡΠΎ Π² WPF Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΡ MediaElement
ΠΈ MediaPlayer
. ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ? ΠΠ»ΠΈ Ρ ΠΡΠΎ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ? Π― Π½Π΅ ΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΌΠ΅Π΄ΠΈΠ° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΡΠΈΠ²Π΅Ρ, @ Zeman97 , ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π·Π°ΠΏΡΠΎΡ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Eto Π½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π°ΡΠ΄ΠΈΠΎ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠΈΠ΄Π΅ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π² Linux / Gtk ΠΈΠ·-Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² (gstreamer, mplayer, vlc ΠΈ Ρ. Π.) Π WinForms, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ WPF, Ρ ΠΎΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ WPF, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΈΠΉ.
https://gitlab.gnome.org/GNOME/banshee
ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΠΠ°Π½ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ gstreamer
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Windows ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΡΡΡ Π½Π° Π½Π΅Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠΎΠ³Ρ Π·Π°Π³Π»ΡΠ½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² WPF, Π½ΠΎ Ρ ΠΌΠΎΠ³ Π±Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ. ΠΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΡΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ? ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΠ» ΡΠ°Π·Π΄Π΅Π» Π²ΠΈΠΊΠΈ ΠΎ "Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ".
ΠΠΈΠ΄Π΅ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π² Linux / Gtk ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² (gstreamer, mplayer, vlc ΠΈ Ρ. Π.),
Gtk 4 Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ GtkVideo ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ Ρ ΠΎΡΠΎΡΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎ / Π°ΡΠ΄ΠΈΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡ Microsoft, ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡΡ Ρ ΠΎΡΠΎΡΠΎ (ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΈΠ· Π½ΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Microsoft Edge, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, UWP, Π° ΡΠ°ΠΊΠΆΠ΅ Google, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Google Newsreader), Π½ΠΎ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ ΠΎΡΠΎΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ Xaml Island ΠΈ Ρ MediaPlayerElement? ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ .NET
https://docs.microsoft.com/en-us/windows/uwp/xaml-platform/xaml-host-controls
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Gtk 4 Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ GtkVideo ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ Ρ ΠΎΡΠΎΡΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎ / Π°ΡΠ΄ΠΈΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ.