# PeerStreamWeb
**Repository Path**: zhishiqu/peer-s
## Basic Information
- **Project Name**: PeerStreamWeb
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-04-07
- **Last Updated**: 2025-04-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vue和三维引擎通信说明
使用 npm 引入依赖
安装核心模块,引入 `peer-stream` 这一关键依赖
```
npm install peer-stream
```
#### 使用步骤
1. 在入口文件中初始化
在项目的主入口文件 main.js 中引入该模块,为整个应用注入三维服务的核心能力:
import 'peer-stream'
2. 在组件中运用 peer-stream
#### 创建容器元素
为了承载三维服务的动态内容,我们需在模板中定义一个容器元素。这里选用
元素,并为其赋予类名 video-box,以便灵活控制样式与布局:
```
```
同时,通过 CSS 赋予其全屏的视觉效果,使其成为三维场景的理想画布:
```
```
3. 配置与加载 peer-stream
接下来,我们将在组件逻辑中完成对 peer-stream 的初始化与配置。以下是代码的核心部分:
```
```
4. Video事件监听
peer-stream 提供了多种事件监听机制,开发者可通过这些事件捕捉三维世界的动态变化:
```
ps.addEventListener('事件名称', e => {
// 回调函数
});
```
#### 以下是几个关键事件的解读:
● message:接收应用层返回的消息,数据存储于 e.detail 中。
● playing:场景开始渲染时触发,标志着三维世界的正式启航,在该事件后才能安全发送ps.emitMessage()
● playerqueue:当访问用户过多时,返回排队信息(如 seq 表示当前排队序号)。
5. 消息的传递与接收
向三维服务发送消息时,可直接使用 emitMessage 方法:
// 若传入对象,会自动序列化为 JSON 格式
ps.emitMessage(msg: string | object);
接收消息时,则通过监听 message 事件解析数据:
```
ps.addEventListener("message", e => {
const data = JSON.parse(e.detail);
console.log(data);
});
```
#### 注意事项
serverPath 中url需要根据,三维引擎推流服务器的地址填写