跳过主要内容

流媒体 Capacitor 插件

整合视频通话和直播流媒体功能,使用Stream SDK实现实时通信

安装

bun add @capgo/capacitor-stream-call bunx cap sync
npm, pnpm 或 yarn
  • npm install @capgo/capacitor-stream-call
  • pnpm add @capgo/capacitor-stream-call
  • yarn add @capgo/capacitor-stream-call

指南

如何在Capacitor中使用Streamcall

使用 @capgo/capacitor-stream-call

使用 https://getstream.io/ SDK 来实现 Capacitor 的呼叫功能。

安装

bun add @capgo/capacitor-stream-call
bunx cap sync

bunx cap sync 复制插件的本机 code 到您的本机项目中。每次升级插件后都需要重新运行。

导入

import { StreamCall } from '@capgo/capacitor-stream-call';

API 的概览

方法 描述
login 登录 Stream 视频服务。
logout 退出流媒体视频服务。
call 呼叫另一个用户。
endCall 结束当前通话。
joinCall 加入一个正在进行的通话。
setMicrophoneEnabled 启用或禁用麦克风。
setCameraEnabled 启用或禁用摄像头。
enableBluetooth 启用蓝牙音频。
acceptCall 接听一个正在呼叫的通话。
rejectCall 拒绝一个正在呼叫的通话。
isCameraEnabled 检查摄像头是否已启用。
getCallStatus 获取当前通话状态。
getRingingCall 获取当前正在响铃的通话。
toggleViews 循环浏览可用的视频布局。
setSpeaker 设置扬声器电话。
switchCamera 切换摄像头。
getCallInfo 获取有关当前呼叫的详细信息,包括呼叫者详细信息。
setDynamicStreamVideoApikey 设置一个动态的流视频API密钥,覆盖静态的密钥。
getDynamicStreamVideoApikey 获取当前设置的动态流视频API密钥。
getCurrentUser 获取当前用户的信息。

示例

login()

登录到流视频服务。

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.login({
  token: 'your-token',
  userId: 'user-123',
  name: 'John Doe',
  apiKey: 'your-api-key'
});

logout()

注销从流视频服务。

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.logout();

call()

呼叫另一个用户。

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.call({
  userId: 'user-456',
  type: 'video',
  ring: true
});

endCall()

结束当前呼叫。

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.endCall();

joinCall()

加入现有的通话。

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.joinCall({ callId: 'call001', callType: 'default' });

setMicrophoneEnabled()

启用或禁用麦克风。

import { StreamCall } from '@capgo/capacitor-stream-call';

await StreamCall.setMicrophoneEnabled({ enabled: false });

上表列出了20个核心方法。监听器和版本帮助,以及每个方法的完整契约,都在__CAPGO_KEEP_0__仓库中文档化。 GitHub仓库.

监听事件

addListener 返回一个句柄。调用 handle.remove() 当屏幕卸载时,或者 StreamCall.removeAllListeners() 清除所有监听器。

完整参考

继续使用 @capgo/capacitor-stream-call

如果您正在使用 使用 @capgo/capacitor-stream-call 与 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-stream-call 查看 @capgo/capacitor-stream-call, 为@capgo/capacitor-stream-call的实现细节 查看开始使用, __CAPGO_KEEP_0__ 插件目录 查看Capgo 插件目录中的产品工作流程, Capgo 由 __CAPGO_KEEP_1__ 提供的插件 查看Capacitor 由 Capgo 提供的插件中的实现细节, 和 Capacitor 由 Capgo 提供的插件 添加或更新插件 添加或更新插件的实现细节。

常见问题

Streamcall插件FAQ

如何在Capacitor应用中安装Streamcall插件?

运行"bun add @capgo/capacitor-stream-call"(或"npm install @capgo/capacitor-stream-call"),然后运行"bunx cap sync",使iOS和Android项目捕获nativecode。从"@capgo/capacitor-stream-call"中导入它到您的应用code。

是否@capgo/capacitor-stream-call与React、Vue和Angular兼容?

是。Streamcall是一个Capacitor包,因此它与任何在Capacitor中运行的Web框架兼容,包括Ionic、React、Vue、Angular、Svelte和普通JavaScript。

哪个Capacitor版本支持@capgo/capacitor-stream-call?

Capgo插件遵循Capacitor的主要版本:使用与Capacitor主要版本匹配的插件主要版本(例如插件v8与Capacitor 8)。在GitHub README中列出的兼容性表格列出了维护的版本。

是否@capgo/capacitor-stream-call免费且开源?

是。源code在GitHub上公开,https://github.com/Cap-go/capacitor-streamcall/,并且包是免费从npm安装的。bug报告和pull请求都欢迎。

是否可以在不进行App Store审查的情况下更新使用Streamcall的code?

安装或升级插件会更改nativecode,因此需要新的商店构建。然后,JavaScript、HTML和CSS更改可以立即与Capgo实时更新一起发布。

不用等待应用程序审查就可以将 Streamcall 的变化推送到您的应用

一旦插件在您的应用商店构建中,Capgo 实时更新将推送您的 JavaScript、HTML 和 CSS 变更到用户中几分钟内

开始使用 Capgo