Ich verwende elfLabs Conversational AI API, die WebSockets verwendet. Und ich verwende Unity C# auf der Clientseite. >
Nachdem ich mein Audio gesendet habe Ich gehe auf die Elevenlabs -Website und überprüfe Die Anrufgeschichte und das Spielen, es scheint, dass ich mein Audio tatsächlich geschickt habe, aber die KI hängt kurz so, als hätte ich nichts gesagt. Ich bin nur dumm, ich habe direkt auf der Website damit gesprochen und es funktioniert perfekt. < /p>
mache ich etwas falsch? Ich habe versucht, Websocket -Bibliotheken, JSON -Parsers und mehr zu ändern, aber nichts scheint zu funktionieren. -ai/api-Referenz/Conversational-AI/WebSocket
Hier ist der Code:
Ich verwende elfLabs Conversational AI API, die WebSockets verwendet. Und ich verwende Unity C# auf der Clientseite. > Nachdem ich mein Audio gesendet habe Ich gehe auf die Elevenlabs -Website und überprüfe Die Anrufgeschichte und das Spielen, es scheint, dass ich mein Audio tatsächlich geschickt habe, aber die KI hängt kurz so, als hätte ich nichts gesagt. Ich bin nur dumm, ich habe direkt auf der Website damit gesprochen und es funktioniert perfekt. < /p> mache ich etwas falsch? Ich habe versucht, Websocket -Bibliotheken, JSON -Parsers und mehr zu ändern, aber nichts scheint zu funktionieren. -ai/api-Referenz/Conversational-AI/WebSocket Hier ist der Code: [code]using UnityEngine; using NativeWebSocket; using System; using System.Threading.Tasks; using System.Net.Http; using System.Collections;
class SendSound : MonoBehaviour { public AudioClip clip; string userAudioSend; AudioSource audioSource; AudioClip latestResponse; WebSocket websocket;
[System.Serializable] struct MessageType { public string type; };
[System.Serializable] struct PingEvent { public int event_id; }
[System.Serializable] struct MessagePing { public MessageType type; public PingEvent ping_event; }
[System.Serializable] struct SignedURL { public string signed_url; }
[System.Serializable] struct AudioEvent { public string audio_base_64; public int event_id; }
[System.Serializable] struct AudioResponse { public string type; public AudioEvent audio_event; }
// Convert float[-1,1] samples to 16-bit PCM private static byte[] ConvertTo16BitPCM(float[] samples) { byte[] pcm = new byte[samples.Length * 2];
for (int i = 0; i < samples.Length; i++) { // Clamp and convert to 16-bit range short value = (short)(Mathf.Clamp(samples[i], -1f, 1f) * short.MaxValue); Buffer.BlockCopy(BitConverter.GetBytes(value), 0, pcm, i * 2, 2); }
return pcm; }
public static AudioClip Base64ToAudioClip(string base64String) { // Decode the Base64 string into a byte array byte[] audioBytes = Convert.FromBase64String(base64String);
// Calculate the number of samples (16-bit, so 2 bytes per sample) int sampleCount = audioBytes.Length / 2; float[] samples = new float[sampleCount];
// Convert each 16-bit sample to a normalized float for (int i = 0; i < sampleCount; i++) { int offset = i * 2; short sampleInt16 = BitConverter.ToInt16(audioBytes, offset); samples[i] = sampleInt16 / 32768.0f; // Normalize to [-1, 1] }
// Create the AudioClip (mono, 16000 Hz) AudioClip audioClip = AudioClip.Create( "DecodedAudio", sampleCount, 1, // Mono 16000, false // Do not stream );
// Set the sample data audioClip.SetData(samples, 0);
return audioClip; } public static async Task GetSignedUrl(string apiKey, string agentId) { var baseUrl = "https://api.elevenlabs.io/v1/convai/conversation/get_signed_url"; var url = $"{baseUrl}?agent_id={Uri.EscapeDataString(agentId)}";
Debug.Log("Final URL: " + url); using var httpClient = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Get, url); request.Headers.Add("xi-api-key", apiKey);
Ich habe den folgenden Code, um das Ollama-Modell herunterzuladen und auf Anfrage den Fortschritt als Antwort zu aktualisieren.
Das Drucken des Protokolls funktioniert, aber websocket.send_text...
Ich habe eine Blazor Server-Web-App und eine ASP.NET Core-Web-API, die auf localhost ausgeführt wird. Ich versuche, HTTP-Anfragen von der Web-App an die API zu senden, kann aber keine Anfragen auf...
Grundsätzlich habe ich NetworkManager, mit dem ich auf eingehende Websocket-Nachrichten höre und diese analysiere, aber der Websocketclient empfängt sie, leitet sie aber nicht zum Parsen an den...
Verbindungsfehler, wie Sie das unten beheben können, finden Sie im Code
response.addHeader( Access-Control-Allow-Origin , \* );
response.addHeader( Access-Control-Allow-Methods , GET, POST, PUT,...
Ich muss eine Nachricht mit Premium-Emoji an eine bestimmte Entität senden, die den Telethon-Client verwendet.
Das mit dem Client verbundene Telegram-Konto verfügt über ein aktives...