0.0.40 • Published 2 years ago
vue-peer v0.0.40
Vue Peer
With this package, you can have video calls along with two or multi-person chat communication. You can easily bind and display your streams in any video element you want.
Installation
Install vue-peer with npm
npm install vue-peerStart backend:
cd ./node_module/vue-peer/backend
node server.jsusage in front:
cd ./node_module/vue-peer/backend
node server.jsImport plugin in application vue:
import { createApp } from "vue";
import App from "./App.vue";
import { VuePeerPlugin } from "./main";
const app = createApp(App);
app.use(VuePeerPlugin); /// <=========== import plugin
app.mount("#app");Usage in script
import { ref } from "vue";
import {
VuePeer,
VuePeerStream,
VuePeerSocketEvent,
type MessageType,
} from "./main";
interface Metadata {
user: string; // is require
role: number; // your props
}
const localStream = ref();
const peers = ref<any>([]);
const srv = ref<VuePeer<Metadata, string>>(
new VuePeer<Metadata, string>({
socketUrl: "http://localhost:8282/",
room: "test1",
// user: getUser(),
metadata: { role: 1, user: getUser()},
showLogs: true,
})
);
srv.value.on(VuePeerSocketEvent.LOCAL_VIDEO, (stream: MediaStream) => {
localStream.value = stream;
});
srv.value.on(VuePeerSocketEvent.USER_JOINED, (sessions: VuePeerStream[]) => {
peers.value = sessions.filter((f) => f.stream);
});Usage in html:
<video v-src-object="localStream" muted autoplay></video>
<hr />
<!-- <div ref="videos"></div> -->
<p>{{ peers.length }}</p>
<template v-for="(item, index) in peers" :key="index">
<p>{{ item.user }}</p>
<video v-src-object="item.stream" muted autoplay></video>
</template>API Reference
Get all items
vue-peer events | Event name | Parameter | Description |
|---|---|---|
message | MessageType<T> | When recieve data mesage |
local_video | MediaStream | When ready your camera |
user_joined | MediaStream | When join another user |
error_in_peer | Error | error in peerjs |
error_in_socket | Error | error in socket |
error_in_navigator | Error | error in navigator |
Using enums for the above events:\
import { VuePeerSocketEvent} from "vue-peer"Get item
Apis| Parameter | Type | Description |
|---|---|---|
sendMessageTo | to:string, userMsg:T | send message to a user |
sendMessageToAll | userMsg:T | send message to all users |
- Here, T refers to the type that you provided for sending data. For example:\
const srv = ref<VuePeer<Metadata, string>>( /// T = string
new VuePeer<Metadata, string>({
socketUrl: "http://localhost:8282/",
room: "test1",
// user: getUser(),
metadata: { role: 1, user: getUser()},
showLogs: true,
})
);
srv.sendMessageToAll("hello world");Authors
- @bakhshabadi.javad
- mail.bakhshabadi@gmail.com
0.0.40
2 years ago
0.0.20
2 years ago
0.0.21
2 years ago
0.0.22
2 years ago
0.0.23
2 years ago
0.0.24
2 years ago
0.0.25
2 years ago
0.0.37
2 years ago
0.0.15
2 years ago
0.0.38
2 years ago
0.0.16
2 years ago
0.0.39
2 years ago
0.0.17
2 years ago
0.0.18
2 years ago
0.0.19
2 years ago
0.0.30
2 years ago
0.0.31
2 years ago
0.0.32
2 years ago
0.0.10
2 years ago
0.0.33
2 years ago
0.0.11
2 years ago
0.0.34
2 years ago
0.0.12
2 years ago
0.0.35
2 years ago
0.0.13
2 years ago
0.0.36
2 years ago
0.0.14
2 years ago
0.0.26
2 years ago
0.0.9
2 years ago
0.0.27
2 years ago
0.0.8
2 years ago
0.0.28
2 years ago
0.0.29
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago