android上的libpd:将[adc~]读入缓冲区

android上的libpd:将[adc~]读入缓冲区,android,libpd,Android,Libpd,我用libpd开发了一个安卓应用程序([adc~]->[*~0.5]->[dac~])。该应用程序运行良好。我从耳机的麦克风里听到声音 我的问题是: 如何将[adc~]中的数据捕获到缓冲区阵列中 我想通过网络将此缓冲区发送到另一个设备,并将其加载到[dac~]中 如何将缓冲区数组加载到[dac~]中 此操作应实时/近实时完成。磁盘上的Writefs~和readfs~没有填满。好的,Pd中的缓冲区称为[table] 您需要做的第一件事是实例化一个具有agiven大小的命名表。 e、 g.以下内容将

我用libpd开发了一个安卓应用程序(
[adc~]
->
[*~0.5]
->
[dac~]
)。该应用程序运行良好。我从耳机的麦克风里听到声音

我的问题是:

  • 如何将
    [adc~]
    中的数据捕获到缓冲区阵列中
  • 我想通过网络将此缓冲区发送到另一个设备,并将其加载到
    [dac~]

  • 如何将缓冲区数组加载到
    [dac~]

  • 此操作应实时/近实时完成。磁盘上的Writefs~和readfs~没有填满。

    好的,Pd中的缓冲区称为
    [table]

    您需要做的第一件事是实例化一个具有agiven大小的命名表。 e、 g.以下内容将创建一个名为“foo”的表格,其样本长度为44100个(如果以44.1kHz的频率运行,则为1秒)

    您可以使用
    [tabwrite~]
    将信号写入该表(每当收到
    [bang(
    )时,该表就会开始写入信号)

    要从表中读取信号,请使用…
    [tabread~]
    ,或
    [tabplay~]
    ,或
    [tabread4~]
    ,或
    [tabosc~]
    ,或

     [bang(
     |
     [tabplay~ foo]
     |
     [dac~]
    

    如何在java中抓住表格?我是否应该在发言时循环?您评论中的第一个问题与此“问题”无关。如果您还有其他问题,请开始新的问题,并以“完成”结束此问题(如果确实回答了)。您评论中的第二个问题对我来说没有意义。(当然,你可以试试看它能做什么)这种关系在这篇文章“我用libpd开发了一个Android应用程序”的开头,在JAVA中我做“…loadPatch()+…initPd()…+…dispatcher=new PdUiDispatcher()+…dispatcher.addListener([table foo],new PdListener()”。在PD中,谢谢提示:我做了”[table foo 44100]+[adc~1]->[bang(->[tabwrite~foo]”第一个问题涉及:如何接收[table foo]?我没有看到方法,例如receiveArray().第二个问题是:我应该在说话的时候插入一个新线程吗?一般来说,你有一个读取表foo的Java示例吗?.Thxok我找到了PdBase.readArray和PdBase.writeArray,将尝试这个
     [adc~ 1]
     |
     |  [bang(
     | /
     |/
     [tabwrite~ foo]
    
     [bang(
     |
     [tabplay~ foo]
     |
     [dac~]