开始使用
复制一个包含安装步骤和此插件的完整Markdown指南的配置提示。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-twilio-voice`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/twilio-voice/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
标题:安装您可以使用我们的AI辅助设置来安装插件。使用以下命令将Capgo技能添加到您的AI工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下提示:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.如果您更喜欢手动设置,请运行以下命令并按照以下平台特定的说明进行安装:
bun add @capgo/capacitor-twilio-voicebunx cap sync导入
标题:导入import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API 简介
标题:API 简介login
标题:登录使用 Twilio Voice 的访问令牌验证用户。
访问令牌应在您的后端服务器上使用您的 Twilio 凭据生成。 此令牌是通过 Twilio Voice 进行呼叫和接收呼叫所必需的。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({ accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'});console.log('Login successful:', result.success);logout
标题:注销注销当前用户并从 Twilio Voice 注销。
这将断开任何活动的呼叫并停止设备接收新呼叫通知。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
标题:是否已登录检查用户是否已登录并具有有效的访问令牌。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.isLoggedIn();if (status.isLoggedIn && status.hasValidToken) { console.log('User identity:', status.identity);} else { // Re-authenticate the user}makeCall
标题:makeCall向电话号码或客户端发起一个呼叫。
用户必须登录才能进行呼叫。呼叫将通过您的Twilio后端配置进行路由。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Call a phone numberconst result = await CapacitorTwilioVoice.makeCall({ to: '+1234567890'});console.log('Call SID:', result.callSid);
// Call another Twilio client with a readable name for CallKit Recentsawait CapacitorTwilioVoice.makeCall({ to: 'client:alice', displayName: 'Alice Smith'});
// Call a PSTN number using a specific caller IDawait CapacitorTwilioVoice.makeCall({ to: '+1234567890', callerId: '+10987654321'});acceptCall
标题:acceptCall接受一个呼叫。
应在接收到‘呼叫邀请接收’事件时调用。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { console.log('Incoming call from:', data.from); const result = await CapacitorTwilioVoice.acceptCall({ callSid: data.callSid }); console.log('Call accepted:', result.success);});rejectCall
标题:rejectCall拒绝一个呼叫。
在接收到‘呼叫邀请’事件时应被调用。 呼叫者将听到忙音或被转到语音信箱。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
标题:结束呼叫结束当前呼叫。
复制到剪贴板
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});muteCall
静音或取消静音呼叫时的麦克风。当静音时,其他方将无法听到您的麦克风音频。
复制到剪贴板
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
启用或禁用扬声器模式。targetLanguage
当启用时,音频将通过设备的扬声器而不是耳机传输。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
标题:获取呼叫状态获取当前呼叫的状态。
此功能提供实时信息,包括呼叫状态、静音状态、挂起状态和呼叫标识符。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.getCallStatus();if (status.hasActiveCall) { console.log('Call SID:', status.callSid); console.log('Call State:', status.callState); console.log('Is Muted:', status.isMuted); console.log('Is On Hold:', status.isOnHold);}checkMicrophonePermission
标题:检查麦克风权限检查麦克风权限是否已被授予。
此功能仅检查当前权限状态,不会请求权限。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
标题:请求麦克风权限请求用户授予麦克风权限。
在 iOS 和 Android 上,这将显示系统权限对话框,如果权限尚未被授予。如果之前拒绝了权限,用户可能需要在系统设置中授予它。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.requestMicrophonePermission();if (result.granted) { console.log('Microphone permission granted');} else { console.log('Microphone permission denied');}类型参考
类型参考标题CallInvite
呼叫邀请标题Capacitor插件用于将Twilio Voice功能整合到移动应用中。
export interface CallInvite { /** Unique identifier for the incoming call invitation */ callSid: string; /** Phone number or client identifier of the caller (may include custom caller name) */ from: string; /** Phone number or client identifier being called */ to: string; /** Custom parameters passed with the call invitation */ customParams: Record<string, string>;}真实来源
真实来源标题本页面是由插件的 src/definitions.ts重新同步公共API时,重新运行上游的同步。
继续从开始
继续从 Getting Started如果您正在使用 Getting Started 以规划仪表板和API操作,连接它与 使用@capgo/capacitor-twilio-voice 为使用@capgo/capacitor-twilio-voice的原生能力 API概述 为API概述的实现细节 介绍 为介绍的实现细节 API密钥 为API密钥的实现细节 设备 查看设备的实现细节。