Прежде всего, я довольно новичок в этом и ищу некоторые предложения / помощь, чтобы я мог учиться.
Я пытаюсь настроить TCP-сервер / клиент с Unity в качестве сервера и Matlab в качестве клиента, который работает нормально, но единственные данные, которые я могу получить в Unity от Matlab, - это строки.
Я получаю следующую ошибку от Matlab
«Ошибка использования звука
Слишком много выходных аргументов.
Ошибка в MatLabServer (строка 15)
b = звук (у, фс); "
Отлично работает только со строками, но не с любым другим типом данных. Я пытался с массивами, матрицами и звуком, но без удачи.
Код сервера Unity
using UnityEngine;
using System.Collections;
using System.Net;
using System.Net.Sockets;
using System.Linq;
using System;
using System.IO;
using System.Text;
public class client : MonoBehaviour {
TcpListener listener;
String msg;
// Use this for initialization
void Start () {
listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 8052);
listener.Start();
print ("is listening");
}
// Update is called once per frame
void Update () {
if (!listener.Pending ())
{
}
else
{
print ("socket comes");
TcpClient client = listener.AcceptTcpClient ();
NetworkStream ns = client.GetStream ();
StreamReader reader = new StreamReader (ns);
msg = reader.ReadToEnd();
print (msg);
}
}
}
Код клиента Matlab
clc
clear all
tcpipClient = tcpip('127.0.0.1',8052,'NetworkRole','Client');
set(tcpipClient,'Timeout',30);
fopen(tcpipClient);
[y,Fs] = audioread('AcGtr.wav');
a = 'hello this is a test';
fwrite(tcpipClient,a);
b = sound(y,Fs);
fwrite(tcpipClient,b);
fclose(tcpipClient);
Ожидаемый результат
1. чтобы получить единство, чтобы загрузить аудио файл из Matlab и воспроизвести его
2. иметь единый источник света, реагировать на музыкальные частоты