UNPKG

@react-native-ohos/react-native-incall-manager

Version:

Handling media-routes/sensors/events during a audio/video chat on React Native

61 lines (38 loc) 1.53 kB
/* * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved * Use of this source code is governed by a MIT license that can be * found in the LICENSE file. */ import type { TurboModule } from "react-native/Libraries/TurboModule/RCTExport"; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { start( media: "video" | "audio", auto: boolean, ringback: string, ): void; stop(busytoneUriType: string): void; turnScreenOff(): void; turnScreenOn(): void; getIsWiredHeadsetPluggedIn(): Promise<{ isWiredHeadsetPluggedIn: boolean }>; setFlashOn(enable: boolean): void; setKeepScreenOn(enable: boolean): void; setSpeakerphoneOn(enable: boolean): void; setForceSpeakerphoneOn(flag: number): void; setMicrophoneMute(enable: boolean): void; startRingtone( ringtone: string, category: string ): void; stopRingtone(): void; startProximitySensor(): void; stopProximitySensor(): void; startRingback(ringbackUriType: string): void; stopRingback(): void; pokeScreen(timeout: number): void; getAudioUriJS(audioType: string, fileType: string): Promise<string | null>; chooseAudioRoute(route: string): Promise<any>; requestAudioFocus(): Promise<any>; abandonAudioFocus(): Promise<any>; } export default TurboModuleRegistry.get<Spec>('InCallManagerTurboModule') as Spec | null;