UNPKG

react-native-deepgram

Version:

React Native SDK for Deepgram's AI-powered speech-to-text, real-time transcription, and text intelligence APIs. Supports live audio streaming, file transcription, sentiment analysis, and topic detection for iOS and Android.

41 lines (40 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.arrayBufferToBase64 = arrayBufferToBase64; exports.createAudioPlayerController = createAudioPlayerController; var _buffer = require("buffer"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } function arrayBufferToBase64(buffer) { const bytes = new Uint8Array(buffer); return _buffer.Buffer.from(bytes).toString('base64'); } function createAudioPlayerController() { let isActive = false; return { start: async (sampleRate = 16000, channels = 1) => { const { Deepgram } = await Promise.resolve().then(() => _interopRequireWildcard(require('../NativeDeepgram'))); Deepgram.startPlayer?.(sampleRate, channels); isActive = true; }, feed: async audio => { const { Deepgram } = await Promise.resolve().then(() => _interopRequireWildcard(require('../NativeDeepgram'))); const b64 = typeof audio === 'string' ? audio : arrayBufferToBase64(audio); await Deepgram.feedAudio?.(b64); }, stop: async () => { const { Deepgram } = await Promise.resolve().then(() => _interopRequireWildcard(require('../NativeDeepgram'))); Deepgram.stopPlayer?.(); isActive = false; }, isActive: () => isActive }; } //# sourceMappingURL=audioUtils.js.map