如何使用`imem`内存流作为.NET VLC包装器的源?

时间:2012-04-02 15:26:19

标签: c# vlc memorystream

输入接收任何格式的音频或视频,输出应为wave。我决定使用.NET的火山包装器。在这一点上,我意识到这是通过文件作为源来实现的。问题是我有一个字节数组作为源。

在阅读论坛后,我得出的结论是有必要使用模块imem,但我遇到了困难。

如何正确使用imem作为数据源而不是文件传输流?

1 个答案:

答案 0 :(得分:0)

现在不可能从C#那里做到这一点。主要是因为你需要指定--imem-get和--imem-release处理程序地址作为字符串而无法从C#中获取这些地址(好吧,你可以通过GCHandle获取指针,但是当VLC试图调用它时它会崩溃)。

对此的解决方法是:

  • 编写实现get和release处理程序的C API。这是一个很好的论坛帖herehere

  • 将数据保存到硬盘驱动器并将其加载到VLC