0

我想从 Pepper 的相机中捕获图像,所以首先我订阅了相机 usingsubscribeCamera方法。我看过文档

所以函数需要一些参数:

 std::string ALVideoDeviceProxy::subscribeCamera(
     const std::string& Name,
     const int& CameraIndex,
     const int& Resolution,
     const int& ColorSpace,
     const int& Fps)

参数:

  • Name – 订阅模块的名称。
  • CameraIndex – 视频系统中摄像机的索引(请参阅摄像机索引)。
  • 分辨率 - 请求的分辨率(请参阅支持的分辨率)。
  • ColorSpace – 请求的颜色空间(请参阅支持的颜色空间)。
  • Fps – 向视频源请求的 Fps(每秒帧数)(请参阅支持的帧速率)。

我的问题是关于第一个参数:name,因为文档说:

警告

同一个名字只能使用六次。

为什么名字只能用6次?在六次之后,函数停止返回一个值。所以我必须每6次更改名称?

4

1 回答 1

1

我认为重点更像是“如果不先取消订阅,您不能使用超过 6 次”。

订阅过程会返回一个名称供您参考。如果这个名字已经存在,它会给你另一个。like: subscribe("toto") => toto subscribe("toto") => toto_2 subscribe("toto") => toto_3 ... 但是只有6次(懒惰的程序员,但不仅如此,你应该有一个设计问题在这种情况下,例如:忘记取消订阅)。

So I think the "normal way" is to unsubscribe, and then it should do that: subscribe( "toto") => "toto" unsubscribe( "toto") ( "toto" is not used anymore, so the system can use it later) subscribe( "toto") => "toto"

于 2017-09-12T10:56:22.863 回答