【问题标题】:How to receive big OSC blob in Java如何在 Java 中接收大 OSC blob
【发布时间】:2014-12-09 11:27:30
【问题描述】:

我正在尝试使用 Java 从 PureData 接收相当大的 OSC blob(超过 10000 个字节的数组)。

我尝试了oscP5 library,得到了大约 1500 字节以上的ArrayIndexOutOfBoundsException

我与JavaOSC library 有相同的限制(带有来自https://wush.net/trac/lsu-idt/wiki/JavaOSC 的代码示例)。

NetUtil [3] lib 给我de.sciss.net.OSCException: Error while receiving OSC packet: java.nio.BufferUnderflowException

但是,我可以使用 PureData 轻松接收这些 blob 甚至更大的 blob。 所以我猜我的 Java 配置有问题。

我尝试使用 -Xms512m 甚至 -Xms2048m 来增加 VM 内存,但这无济于事。

【问题讨论】:

  • 看看你是不是读了两次数据。
  • 如果你的意思是读取 OSC 数据两次,但那为什么要使用相同代码的较小 blob?

标签: java blob osc oscp5 javaosc


【解决方案1】:

oscP5 库的默认数据报大小为 1536,这就是您遇到这种限制的原因。您可以使用 OSCProperties::setDatagramSize() 来更改数据报的大小,它在 OscP5 对象的构造函数中使用:

OscP5(Object theParent, OscProperties theProperties)

有关处理论坛的旧示例,请参阅此链接:

https://forum.processing.org/one/topic/query-re-sending-large-number-of-values-to-processing-via-osc-from-supercollider.html

粘土布丁 纽约市

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2021-01-11
    • 2019-12-27
    • 2017-12-30
    • 2016-08-14
    相关资源
    最近更新 更多