Skip to content

Web SDK

@sorisdk/web-audio는 웹 서비스나 브라우저 기반 제품에 SORI 오디오 인식을 연동하기 위한 브라우저 SDK입니다.

Beta

Web SDK는 현재 Beta 상태입니다. 아직 구현이 발전 중이므로 일부 API나 연동 흐름은 변경될 수 있습니다.

사전 요구 사항

  • https:// 또는 http://localhost 같은 secure context
  • AudioContextMediaDevices.getUserMedia를 지원하는 최신 브라우저
  • SORI가 제공하는 ephemeral key 흐름에 대한 접근
  • 사용자가 허용한 마이크 권한

연동 흐름

  1. appId를 포함해 AudioRecognizer를 생성합니다.
  2. ephemeralKey에 문자열 또는 자체 async callback 형태로 ephemeral key를 제공합니다.
  3. campaign, match, error 같은 필요한 이벤트를 구독합니다.
  4. start()를 호출해 인식을 시작합니다.
  5. 인식을 멈추거나 페이지를 정리할 때 stop() 또는 destroy()를 호출합니다.

주요 API

AudioRecognizer는 Web 파트너 연동을 위한 기본 API입니다. 인증 부트스트랩, 세션 관리, pack 캐싱, 마이크 인식 흐름을 내부적으로 처리합니다.

최소 예제

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();

키 발급과 relay 패턴은 Ephemeral Key에서 확인하세요.

다음 단계