Configuración
Utilice esta página para realizar la configuración inicial del SDK para Web. @sorisdk/web-audio se ejecuta en el navegador; la principal diferencia reside en si lo instala mediante un gestor de paquetes o si más adelante utiliza una distribución como script independiente.
El SDK para Web se encuentra actualmente en Beta, por lo que algunos detalles de configuración pueden cambiar a medida que evolucione el paquete.
Configuración con un gestor de paquetes
bash
npm install @sorisdk/web-audiobash
yarn add @sorisdk/web-audiobash
pnpm add @sorisdk/web-audiobash
bun add @sorisdk/web-audioCargador Wasm para aplicaciones con frameworks
Si utiliza un framework basado en Vite, como React, Vue, Svelte o Nuxt, añada vite-plugin-wasm y registre wasm() en la configuración del framework.
bash
npm install -D vite-plugin-wasmts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import wasm from "vite-plugin-wasm";
export default defineConfig({
plugins: [react(), wasm()]
});ts
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import wasm from "vite-plugin-wasm";
export default defineConfig({
plugins: [vue(), wasm()]
});ts
import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import wasm from "vite-plugin-wasm";
export default defineConfig({
plugins: [svelte(), wasm()]
});ts
import wasm from "vite-plugin-wasm";
export default defineNuxtConfig({
vite: {
plugins: [wasm()]
}
});Configuración mínima en el navegador
ts
import { AudioRecognizer } from "@sorisdk/web-audio";
const recognizer = new AudioRecognizer({
appId: "YOUR_APP_ID",
ephemeralKey: async () => {
const response = await fetch("/api/ephemeral-key", {
method: "POST"
});
if (!response.ok) {
throw new Error(`Ephemeral key request failed: HTTP ${response.status}`);
}
const { ephemeral_key } = await response.json();
return ephemeral_key;
}
});
recognizer.on("campaign", (event) => {
console.log(event.campaign);
});
await recognizer.start();Para obtener información sobre la emisión de claves y los patrones de relay, consulte Clave efímera.
Notas
@sorisdk/web-audiodebe ejecutarse en código del navegador, no en un entorno de ejecución de Node.js.- Normalmente, una aplicación Node.js se utiliza para la instalación, el empaquetado, el SSR y la lógica de relay opcional.
AudioRecognizergestiona internamente el almacenamiento de sesiones y la caché de paquetes.- El patrón recomendado consiste en proporcionar
ephemeralKeycomo una cadena o un handler asíncrono. - Las aplicaciones con frameworks basados en Vite deben configurar
vite-plugin-wasmantes de importar el SDK.
Etiqueta de script independiente
Próximamente
