0.0.40 • Published 1 year 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
1 year ago
0.0.20
1 year ago
0.0.21
1 year ago
0.0.22
1 year ago
0.0.23
1 year ago
0.0.24
1 year ago
0.0.25
1 year ago
0.0.37
1 year ago
0.0.15
1 year ago
0.0.38
1 year ago
0.0.16
1 year ago
0.0.39
1 year ago
0.0.17
1 year ago
0.0.18
1 year ago
0.0.19
1 year ago
0.0.30
1 year ago
0.0.31
1 year ago
0.0.32
1 year ago
0.0.10
1 year ago
0.0.33
1 year ago
0.0.11
1 year ago
0.0.34
1 year ago
0.0.12
1 year ago
0.0.35
1 year ago
0.0.13
1 year ago
0.0.36
1 year ago
0.0.14
1 year ago
0.0.26
1 year ago
0.0.9
1 year ago
0.0.27
1 year ago
0.0.8
1 year ago
0.0.28
1 year ago
0.0.29
1 year ago
0.0.7
1 year ago
0.0.6
1 year ago
0.0.5
1 year ago
0.0.4
1 year ago
0.0.3
1 year ago
0.0.2
1 year ago
0.0.1
1 year ago