0

我正在尝试将麦克风输入从我的 Symbian 设备(诺基亚 N8)流式传输到在我的 Windows PC 上运行的 PureData 应用程序。两者都通过 WiFi 连接。

连接成功,但读取传入数据失败。当我使用 TCP 时,连接会立即断开,但帮助不大

netreceive~: recv data: Unknown error (10014).

使用 UDP,我得到了很多

netreceive~: recv data: Message too long (10040).

我在 PD 中设置了采样率以匹配来自手机的采样率,但 PD 一直告诉我音频格式未知。也许它与样本大小或字节顺序有关?

PS:我在PD端使用的是Olaf Matthes的netreceive~对象,Qt代码如下:

audio_out_socket = new QTcpSocket(this);
audio_out_socket->connectToHost(pdclient_addr, 8030);
QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice();
QAudioFormat format = info.preferredFormat();
audio_in = new QAudioInput(info, format, this);
audio_in->start(audio_out_socket);
4

1 回答 1

1

[netreceive~]期望在实际数据到达之前保存有关数据的信息的“标题”。

来自 netsend~.h:

typedef struct _tag {      /* size (bytes) */
     char version;         /*    1         */
     char format;          /*    1         */
     long count;           /*    4         */
     char channels;        /*    1         */
     long framesize;       /*    4         */
     char extension[5];    /*    5         */
} t_tag;                   /*--------------*/
                           /*   16         */

extension seems to be currently unused, but you have to fill out the rest, according to the data you are sending (check this header-file for more info)

于 2013-01-09T09:16:21.983 回答