我想在C#/ WPF中播放以前记录的* .oni文件。虽然在this tutorial的帮助下,我能够在我的UI上显示RGB-和Depth-Stream,但我不知道如何播放* .oni文件。
OpenNI页面提到,我只需要连接"到文件而不是设备,但我找不到合适的代码片段。
openni :: Device类提供单个物理硬件设备的接口(通过驱动程序)。它还可以通过从物理设备获取的记录ONI文件为模拟硬件设备提供接口。
如果连接到ONI文件而不是物理设备,则只需要在运行应用程序的系统上提供ONI记录,并且该应用程序对该文件具有读取权限。
我也找到了一些线索/讨论,但没有一个确实有帮助
编辑:我找到了一种方法,至少可以使用SamplesConfig.xml播放录音。我刚刚将以下代码插入<ProductionNodes>
:
<Recording file="\test.oni" playbackSpeed="1.0"/>
可悲的是,当录制完成后录制的内容会崩溃 - 我现在正在寻找一种循环播放的方法...
编辑2:如果有人对此感兴趣,我会使用这些行来设置循环录音:
ScriptNode scriptNode;
context = Context.CreateFromXmlFile(path + "\\" + configuration, out scriptNode);
Player p = (Player)context.FindExistingNode(NodeType.Player);
if (p!=null) p.SetRepeat(true); //Make sure it's really a recording.
答案 0 :(得分:1)
如果有人有一天需要代码 - 我设法加载文件并播放录音而不需要配置文件:
Context context = new Context();
// Add license
License license = new License();
license.Vendor = "vendor";
license.Key = "key";
context.AddLicense(license);
// Open file
context.OpenFileRecordingEx("record.oni");
// Set to repeat
Player p = (Player)context.FindExistingNode(NodeType.Player);
if (p != null) p.SetRepeat(true);