【问题标题】:Create an audio file from what Pepper robot listen根据 Pepper 机器人收听的内容创建音频文件
【发布时间】:2019-04-09 23:28:19
【问题描述】:

我想创建一个文件,其中包含 Pepper 机器人在有限时间内听到的内容。总而言之,我如何创建一个包含胡椒监听的 .wav 文件?实际上,我使用了 ALAudioRecorder NaoQi 库,但我遇到了以下关于序列化返回值的错误。

import com.aldebaran.qi.Application;
import com.aldebaran.qi.helper.proxies.ALAudioRecorder;
public class helloWord {

  public static void main(String[] args) throws Exception {
    String robotUrl = "tcp://pepper.local:9559";/*pepper.local.:9559*/
    Application application = new Application(args, robotUrl);
    application.start();
    boolean[] array =  {false,false,true,false};
   ALAudioRecorder alAudioRecorder=new ALAudioRecorder(application.session());
   alAudioRecorder.startMicrophonesRecording("D:/test/test.wav", "wav",48000,array);}}





 Exception in thread "main" java.lang.RuntimeException: Cannot serialize return value: Unable to convert JObject in AnyValue
at com.aldebaran.qi.Future.get(Future.java:96)
at com.aldebaran.qi.helper.proxies.ALAudioRecorder.startMicrophonesRecording(ALAudioRecorder.java:185)
at helloWord.main(helloWord.java:26)

【问题讨论】:

  • 这是我的猜测:录制是在机器人上完成的,所以 D:/test/test.wav 是一个不存在的路径。所以序列化时的问题...
  • @AlexandreMazel ,实际上,我再次检查了路径并且它存在。
  • 我发誓,机器人上不存在驱动器“d:”。

标签: java serialization pepper


【解决方案1】:

正如亚历山大所说,你的问题就在这里:

alAudioRecorder.startMicrophonesRecording("D:/test/test.wav", "wav",48000,array);}}

由于录音机服务正在机器人上运行,它不会访问您的 D: 路径,您需要机器人 (unix) 文件系统上的路径,例如“/home/nao/test.wav”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2019-06-17
    相关资源
    最近更新 更多