C#LibVLCSharp播放器直接馈送媒体
有一个C#应用程序通过NuGet包使用LibVLC 这些是软件包:C#LibVLCSharp播放器直接馈送媒体,c#,vlc,libvlc,libvlcsharp,C#,Vlc,Libvlc,Libvlcsharp,有一个C#应用程序通过NuGet包使用LibVLC 这些是软件包: 有了这些包,将一些MediaPlayer放入WinForms应用程序非常容易 您只需初始化一个播放机,并为其提供一个新的媒体: LibVLCSharp.Shared.LibVLC libVLC = new LibVLC(); LibVLCSharp.WinForms.VideoView videoView; videoView.MediaPlayer = new LibVLCSharp.Shared.MediaPlay
媒体
:
LibVLCSharp.Shared.LibVLC libVLC = new LibVLC();
LibVLCSharp.WinForms.VideoView videoView;
videoView.MediaPlayer = new LibVLCSharp.Shared.MediaPlayer(libVLC)
videoView.MediaPlayer.Play(new Media(libVLC, "URL", FromType.FromLocation));
现在,我想从缓冲区向mediaplayer提供自定义数据。
它可以是字节数组,或者任何类似的东西。(数据应视为来自有效的mp4文件块)
如何使用C#中的libVLC实现这一点?使用此媒体构造函数
new Media(libVLC, new StreamMediaInput(stream));
流
可以通过任何.NET流进行传输
此示例使用torrent流,例如:如果不想在不需要的地方创建流,还可以实现自己的
MediaInput
类,并实现所需的方法
然后,用法与@mfkl指出的相同。不过要小心,必须处理MediaInput
this.\u mediaInput=new MyMediaInput();
播放(新媒体(libVLC,this.u mediaInput));
//最后
此._mediaInput.Dispose();
Wow,这可能是非常新的,我甚至不得不更新nuget软件包以使MediaInput类可用。谢谢,这是新的,我添加这个是因为我想添加更多的场景,而不仅仅是一个普通的流。享受吧!与StreamMediaInput和\u mediaInput有什么区别?StreamMediaInput是LVS提供的一个具体类。MediaInput是一个抽象类,您可以实现它来定义自己的流机制