@flashphoner/websdk

中文文档
2.0.283发布于 2026/05/29MITTypeScriptCommonJS近 30 天下载 3574

Official Flashphoner WebCallServer WebSDK package

原始使用文档
文档目录5 节
  1. Install
  2. Using prebuild Javascript bundle in browser
  3. More examples
  4. Documentation
  5. Known issues

@flashphoner/websdk

Flashphoner WebCallServer JavaScript API (Web SDK)

Flashphoner WebCallServer JavaScript API (Web SDK) implementation.

Install

npm install @flashphoner/websdk

Using prebuild Javascript bundle in browser

two-way-streaming.html:

<!DOCTYPE html>
<html lang="en">
<head> 
    <script type="text/javascript" src="node_modules/@flashphoner/websdk/flashphoner.js"></script> 
    <script type="text/javascript" src="two-way-streaming.js"></script> 
</head>
<body onload="init_api()">
    <div id="publish" style="width:320px;height:240px;border: solid 1px"></div>
    <br/><button id="publishBtn">Publish</button><br/>
    <br/>
    <div id="play" style="width:320px;height:240px;border: solid 1px"></div>
    <br/><button id="playBtn">Play</button><br/>
    <br/>
    <br/><button id="stopBtn">Stop</button><br/>
</body>
</html>

two-way-streaming.js:

//Constants
var SESSION_STATUS = Flashphoner.constants.SESSION_STATUS;
var STREAM_STATUS = Flashphoner.constants.STREAM_STATUS;
var session;
var stream;
  
//Init Flashphoner API on page load
function init_api() {
    Flashphoner.init({});
    publishBtn.onclick = connect;
    playBtn.onclick = playStream;
    stopBtn.onclick = stopPublish;
}
  
//Connect to WCS server over websockets
function connect() {
    session = Flashphoner.createSession({
        urlServer: "wss://demo.flashphoner.com"
    }).on(SESSION_STATUS.ESTABLISHED, function(session) {
        publishStream(session);
    });
}
  
//Publish stream
function publishStream(session) {
    stream = session.createStream({
        name: "stream",
        display: document.getElementById("publish"),
    });
    stream.publish();
}
  
//Playing stream
function playStream() {
    session.createStream({
        name: "stream",
        display: document.getElementById("play"),
    }).play();
}
 
//Stopping stream
function stopPublish() {
    stream.stop();
}

More examples

Please look for more examples on GitHub and on this page

Documentation

Please read the details here and API docs here

Known issues

WebSDK is build with webrtc/adapter library version not lower than 7.2.6. In this regard, direct use of this library together with WebSDK should be avoided.

版本与发布记录

@flashphoner/websdk 共发布 95 个版本,首次发布于 2021/02/09;过去 12 个月发布了 9 个版本。

版本发布日期距今
2.0.283latest2026/05/295 个月前
2.0.2822026/03/068 个月前
2.0.2812026/03/038 个月前
2.0.2782026/02/049 个月前
2.0.2772026/02/039 个月前
2.0.2762026/01/0910 个月前

关于 @flashphoner/websdk 的常见问题

@flashphoner/websdk 是什么?

Official Flashphoner WebCallServer WebSDK package

如何安装 @flashphoner/websdk?

在项目目录运行 npm install @flashphoner/websdk,或使用 pnpm add / yarn add / bun add。

@flashphoner/websdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@flashphoner/websdk 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@flashphoner/websdk 可以商用吗?

@flashphoner/websdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@flashphoner/websdk 的下载量有多少?

根据 npm 官方下载统计,@flashphoner/websdk 在 2026/10/15 – 2026/11/13 这 30 天内被下载 3,574 次,日均约 119 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@flashphoner/websdk 还在维护吗?

最新版本 2.0.283 发布于 2026/05/29(5 个月前);至今共发布 95 个版本,其中过去 12 个月发布了 9 个;首次发布于 2021/02/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。