@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
text/typescript
/*
* 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;