2017-01-29 33 views
16

当我尝试调用getChildren()上有我在它运行我得到这个例外,自定义模块端点mediapipeline的ProtocolException中的getChildren()

org.kurento.client.internal.server.ProtocolException :异常 为mycustomfilter.MyCustomFilter

这创建Java类是其触发它的代码:

List<MediaObject> mediaObjects = pipelines.get(i).getChildren(); 

我是否必须将List<MediaObject>转换为其他数据类型?

回答

2

当您创建KMS定制的媒体元素,你还可以创建Java和JavaScript客户端API(见DOC here)。在你的情况,你需要创建Java客户端为您的过滤器,如下所示:

cmake .. -DGENERATE_JAVA_CLIENT_PROJECT=TRUE 

生成的Java类(包mycustomfilter.MyCustomFilter在你的例子)应该在项目的类路径拨打哪些电话getChildren()(内部它呼叫Class.forName,见代码here)。

+0

这是正确的,但如果我想访问这样一个KMS与我没有'jar'的自定义模块。由于这些自定义模块可能会继承“FilterImpl”或“HubImpl”,因此无法将自定义模块直接转换为父类? –

+1

即使您没有JAR,您仍然可以使用该模块。但是,这种情况下,您需要直接与KMS(即JSON-RPC)交流Kurento协议(请参阅info [here](http://doc-kurento.readthedocs.io/en/stable/mastering/kurento_protocol.html))消息)。但就我所知,如果你没有JAR,最初的问题(调用getChildren()时例外)无法解决。 –

0

你可以试试吗?

List<MediaObject> mediaObjects = new ArrayList<MediaObject>(Arrays.asList(pipelines.get(i).getChildren())); 
+0

不行,它没有工作。 –

相关问题