Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
66 lines (45 sloc) 1.81 KB

SkyWay Recorder

skyway-recorder provides audio recording API. The recorded files will be uploaded to Google Cloud Storage(GCS).


You need to enable recording feature on SkyWay Dashboard.

  • Signup or login to your account.
  • Create or edit your application associated with your account.
  • Check Enable recording feature in the permission section.
  • Register a GCS bucket where the recording files will be uploaded.

⚠️ If uploading failed even once, SkyWay recording server disable the recording feature. You can check the current status of the recording feature on SkyWay Dashboard.


npm i skyway-recorder

CDN is also available.

<script src=""></script>

You do NOT need to install SkyWay JS-SDK alongside.


import { createRecorder } from "skyway-recorder";

(async () => {
  const apiKey = "5bea388b-3f95-4e1e-acb5-a34efdd0c480";
  const recorder = createRecorder(apiKey);

  // if use authentication
  // const recorder = createRecorder(apiKey, { auth: { timestamp, credential } });
  // if use custom ICE configuration
  // const recorder = createRecorder(apiKey, { iceServers: [], iceTransportPolicy: "relay" });

  const track = await navigator.mediaDevices
    .getUserMedia({ audio: true })
    .then(s => s.getAudioTracks()[0]);

  const res = await recorder.start(track);
  console.log(`Your recording id: ${} is now recording...`);

  // ...

  await recorder.stop();
  console.log("recording has stopped!");
  console.log("uploading will be started soon...");

The id returned by recorder.start() is your recording id. You can get recorded audio file via ${API_KEY}/${RECORDING_ID}/audio.ogg and meta.json in your GCS bucket.


See for more details.

You can’t perform that action at this time.