@quiztr/expo-audio-stream
Version:
Expo Play Audio Stream module
48 lines • 2.02 kB
TypeScript
import { Subscription } from "expo-modules-core";
import { AudioRecording, RecordingConfig, StartRecordingResult } from "./types";
export declare class ExpoPlayAudioStream {
/**
* Starts microphone recording.
* @param {RecordingConfig} recordingConfig - Configuration for the recording.
* @returns {Promise<{recordingResult: StartRecordingResult, subscription: Subscription}>} A promise that resolves to an object containing the recording result and a subscription to audio events.
* @throws {Error} If the recording fails to start.
*/
static startRecording(recordingConfig: RecordingConfig): Promise<{
recordingResult: StartRecordingResult;
subscription?: Subscription;
}>;
/**
* Stops the current microphone recording.
* @returns {Promise<AudioRecording>} A promise that resolves to the audio recording data.
* @throws {Error} If the recording fails to stop.
*/
static stopRecording(): Promise<AudioRecording>;
/**
* Plays an audio chunk.
* @param {string} base64Chunk - The base64 encoded audio chunk to play.
* @returns {Promise<void>}
* @throws {Error} If the audio chunk fails to stream.
*/
static playAudio(base64Chunk: string, turnId: string): Promise<void>;
/**
* Pauses the current audio playback.
* @returns {Promise<void>}
* @throws {Error} If the audio playback fails to pause.
*/
static pauseAudio(): Promise<void>;
/**
* Stops the currently playing audio.
* @returns {Promise<void>}
* @throws {Error} If the audio fails to stop.
*/
static stopAudio(): Promise<void>;
/**
* Sets the volume for the audio playback.
* @param {number} volume - The volume to set (0.0 to 1.0).
* @returns {Promise<void>}
* @throws {Error} If the volume fails to set.
*/
static setVolume(volume: number): Promise<void>;
static clearPlaybackQueueByTurnId(turnId: string): Promise<void>;
}
//# sourceMappingURL=index.d.ts.map