在 Pepper 机器人上录制声音时出错 [英] Error when recording sound on Pepper robot
问题描述
我希望我的 Pepper 机器人使用 startMicrophonesRecording()
录制一段音频.在 NAOqi v2.5 中,它需要四个参数(路径、类型、赫兹和麦克风).试图运行
I want my Pepper robot to record a piece of audio using startMicrophonesRecording()
. In NAOqi v2.5 it takes four arguments (path, type, hertz and microphones). Trying to run
AD.startMicrophonesRecording("/data/home/nao/recordings/microphones/test.wav","wav",16000,(0,0,1,0))
但是我收到错误消息
RuntimeError: Arguments types did not match for startMicrophonesRecording (resolved to '(ssi(iiii))'):
Candidate:
startMicrophonesRecording::(s) (1)
似乎 startMicrophonesRecording()
只需要一个参数.我可以在过去的版本中看到 过去只将文件路径作为参数的函数,所以也许 Python 正在查看过去版本的 NAOqi 模块?
It seems that startMicrophonesRecording()
only wants one argument. I can see in past versions of the function that it used to only take the file path as an argument, so maybe Python is looking at a past version of NAOqi for the modules?
我尝试将 PYTHONPATH
设置为 C:\Users\
使用本教程,但我仍然遇到同样的错误.
I have tried setting PYTHONPATH
to C:\Users\<user>\<path>\pynaoqi-python2.7-2.5.5.5-win32-vs2013\lib
using this tutorial, but I still get the same error.
对我能做什么有什么想法吗?
Any ideas as to what I can do?
Windows 10 上的 Python 2.7.
Python 2.7 on Windows 10.
推荐答案
您是否尝试过一个论点?
Did you try with one argument?
NAOqi v2.5 链接你命名,指的是 ALAudioRecorder 和 C++.旧版本"指的是 Python ALAudioDevice.ALAudioDevice 的 NAOqi v2.5 Python API 描述为 此处.
The NAOqi v2.5 Link you named, refers to ALAudioRecorder and C++. The "old Version" refers to Python ALAudioDevice. An NAOqi v2.5 Python API for ALAudioDevice is described here.
对我来说,这些 python 代码片段工作正常:
For me these python snippets works fine:
ALAudioDevice:
import naoqi
from naoqi import ALProxy
AD = ALProxy("ALAudioDevice", "pepper.local", 9559)
AD.startMicrophonesRecording("/data/home/nao/recordings/microphones/test.wav")
AD.stopMicrophonesRecording()
ALAudioRecorder:
import naoqi
from naoqi import ALProxy
AR = ALProxy("ALAudioRecorder", "pepper.local", 9559)
AR.startMicrophonesRecording("/data/home/nao/recordings/microphones/test.wav","wav",16000,[0,0,1,0])
AR.stopMicrophonesRecording()
这篇关于在 Pepper 机器人上录制声音时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!