Passer à la navigation

Getting Started

GitHub

Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil d'IA en utilisant la commande suivante :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Ensuite, utilisez la prompt suivante :

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-stream-call` plugin in my project.

Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à la plateforme ci-dessous :

Fenêtre de terminal
bun add @capgo/capacitor-stream-call
bunx cap sync
import { StreamCall } from '@capgo/capacitor-stream-call';

Se connecter au service de vidéo Stream

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.login({
token: 'your-token',
userId: 'user-123',
name: 'John Doe',
apiKey: 'your-api-key'
});

Se déconnecter du service de vidéo Stream

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.logout();

Initier un appel à un autre utilisateur

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.call({
userId: 'user-456',
type: 'video',
ring: true
});

Raccrocher l'appel en cours

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.endCall();

Joindre un appel existant

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.joinCall({ callId: 'call001', callType: 'default' });

Activer ou désactiver le microphone

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setMicrophoneEnabled({ enabled: false });

Activer ou désactiver la caméra

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setCameraEnabled({ enabled: false });

Activer l’audio Bluetooth

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.enableBluetooth();

Accepter un appel entrant

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.acceptCall();

Refuser un appel entrant

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.rejectCall();

Vérifier si la caméra est activée

import { StreamCall } from '@capgo/capacitor-stream-call';
const isCameraEnabled = await StreamCall.isCameraEnabled();
console.log(isCameraEnabled);

Obtenir le statut de la communication en cours

import { StreamCall } from '@capgo/capacitor-stream-call';
const callStatus = await StreamCall.getCallStatus();
console.log(callStatus);

Obtenir la communication sonore en cours

import { StreamCall } from '@capgo/capacitor-stream-call';
const ringingCall = await StreamCall.getRingingCall();
console.log(ringingCall);

Passer d'une disposition vidéo à l'autre

import { StreamCall } from '@capgo/capacitor-stream-call';
const { newLayout } = await StreamCall.toggleViews();
console.log(`Layout switched to ${newLayout}`);

Activer le haut-parleur

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setSpeaker({ name: 'speaker' });

Changer de caméra

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.switchCamera({ camera: 'back' });

Obtenir des informations détaillées sur une appelle active, y compris les informations du correspondant.

import { StreamCall } from '@capgo/capacitor-stream-call';
const result = await StreamCall.getCallInfo({ callId: 'call-id-123' });
console.log(result);

Définir une clé dynamique de Stream Vidéo API qui remplace la clé statique

import { StreamCall } from '@capgo/capacitor-stream-call';
await StreamCall.setDynamicStreamVideoApikey({ apiKey: 'new-api-key' });

Obtenir la clé de Stream Vidéo dynamique actuellement définie API

import { StreamCall } from '@capgo/capacitor-stream-call';
const result = await StreamCall.getDynamicStreamVideoApikey();
if (result.hasDynamicKey) {
console.log('Dynamic API key:', result.apiKey);
} else {
console.log('Using static API key from resources');
}

Obtenez les informations de l'utilisateur actuel

import { StreamCall } from '@capgo/capacitor-stream-call';
const currentUser = await StreamCall.getCurrentUser();
console.log(currentUser);
export interface LoginOptions {
/** Stream Video API token */
token: string;
/** User ID for the current user */
userId: string;
/** Display name for the current user */
name: string;
/** Optional avatar URL for the current user */
imageURL?: string;
/** Stream Video API key */
apiKey: string;
/** ID of the HTML element where the video will be rendered */
magicDivId?: string;
pushNotificationsConfig?: PushNotificationsConfig;
}
export interface SuccessResponse {
/** Whether the operation was successful */
success: boolean;
callId?: string;
}
export interface CallOptions {
/** User ID of the person to call */
userIds: string[];
/** Type of call, defaults to 'default' */
type?: CallType;
/** Whether to ring the other user, defaults to true */
ring?: boolean;
/** Team name to call */
team?: string;
/** Whether to start the call with video enabled, defaults to false */
video?: boolean;
/** Custom data to be passed to the call */
custom?: Record<
string,
| string
| boolean
| number
| null
| Record<string, string | boolean | number | null>
| string[]
| boolean[]
| number[]
>;
}
export interface CallEvent {
/** ID of the call */
callId: string;
/** Current state of the call */
state: CallState;
/** User ID of the participant in the call who triggered the event */
userId?: string;
/** Reason for the call state change, if applicable */
reason?: string;
/** Information about the caller (for incoming calls) */
caller?: CallMember;
/** List of call members */
members?: CallMember[];
custom?: Record<
string,
| string
| boolean
| number
| null
| Record<string, string | boolean | number | null>
| string[]
| boolean[]
| number[]
>;
count?: number;
}
export interface IncomingCallPayload {
/** Full call CID (e.g. default:123) */
cid: string;
/** Event type (currently always "incoming") */
type: 'incoming';
/** Information about the caller */
caller?: CallMember;
/** Custom data to be passed to the call */
custom?: Record<
string,
| string
| boolean
| number
| null
| Record<string, string | boolean | number | null>
| string[]
| boolean[]
| number[]
>;
/**
* Get the native Capacitor plugin version
*
* @returns {Promise<{ id: string }>} an Promise with version for this device
* @throws An error if the something went wrong
*/
getPluginVersion(): Promise<{ version: string }>;
}
export interface CameraEnabledResponse {
enabled: boolean;
}
export type StreamCallLayout = 'grid' | 'spotlight' | 'dynamic' | 'fullScreen' | 'fullscreen';
export interface DynamicApiKeyResponse {
/** The dynamic API key if set, null if not */
apiKey: string | null;
/** Whether a dynamic key is currently set */
hasDynamicKey: boolean;
}
export interface CurrentUserResponse {
/** User ID of the current user */
userId: string;
/** Display name of the current user */
name: string;
/** Avatar URL of the current user */
imageURL?: string;
/** Whether the user is currently logged in */
isLoggedIn: boolean;
}
export interface PushNotificationsConfig {
pushProviderName: string;
voipProviderName: string;
}
export type CallType = 'default' | 'audio' | 'audio_room' | 'livestream' | 'development';
export type CallState =
// User-facing states
| 'idle'
| 'ringing'
| 'joining'
| 'reconnecting'
| 'joined'
| 'leaving'
| 'left'
// Event-specific states
| 'created'
| 'session_started'
| 'rejected'
| 'participant_counts'
| 'missed'
| 'accepted'
| 'ended'
| 'camera_enabled'
| 'camera_disabled'
| 'speaker_enabled'
| 'speaker_disabled'
| 'microphone_enabled'
| 'microphone_disabled'
| 'outgoing_call_ended'
| 'unknown';

Cette page est générée à partir du plugin src/definitions.tsRe-run la synchronisation lorsque l’API public change en amont.

Si vous utilisez Prise en main Pour planifier le tableau de bord et les opérations API, connectez-l’avec En utilisant @capgo/capacitor-stream-call pour la capacité native dans En utilisant @capgo/capacitor-stream-call, Vue d'ensemble de API pour le détail d'implémentation dans Vue d'ensemble de API, Introduction pour le détail d'implémentation dans Introduction, Clés de API pour le détail d'implémentation dans Clés de API, et Appareils pour les détails d'implémentation sur les appareils.