尊敬的 Vincent:
我在这里的理解是否正确?
在 wify_audio_app 中、mDNS 广播器是使用服务"CC3200._audio._udp.local"进行广播的扬声器设备。 然后、MIC 侧使用 sl_NetAppDnsGetHostByService 来检测扬声器设备、包括其 IP 地址和服务端口。 是否有理由在扬声器侧进行 mDNS 广播? 我认为这可以在两侧都完成。 根据这一意见,我决定采取以下行动。
流设备1将使用端口5050上的服务"CC3200._AUDIO_stream1._udp.local"进行广播。流设备2将使用端口5051上的服务"CC3200._AUDIO_stream2._udp.local"进行广播。
#ifndef 多播 lRetVal = sendto (g_UdpSock.iSockDesc、\ (char*)(pRecordBuffer->puReadPtr)、packet_size、\ 0、(struct sockaddr*)&(g_UdpSock.Client)、\ sizeof (g_udpSock.Client); if (lRetVal < 0) { UART_PRINT ("无法发送数据\n\r"); loop_forever (); } #else //多播
我想我可以使用来自每个流媒体设备的 sendto 函数将数据发送出去。
在接收器端,我将使用 GetServiceList()函数或 sl_NetAppDnsGetHostByName()来标识这些特定设备的 IP 地址和服务端口。 我可以使用 Recvfrom 两次来从各自的端口接收每个流。 我可以使用两次接收功能从各个端口读取音频数据。
这种理解是否对您有意义?
谢谢
Shavinda