hy-rtc-core-v3 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Client.d.ts +32 -0
- package/dist/EventEmitter.d.ts +9 -0
- package/dist/HyRtcCore.d.ts +19 -0
- package/dist/Message.d.ts +43 -0
- package/dist/Room.d.ts +75 -0
- package/dist/RoomManager.d.ts +18 -0
- package/dist/enum/emum.d.ts +5 -0
- package/dist/index.d.ts +2 -0
- package/dist/interface/HyRtcCore.d.ts +105 -0
- package/dist/proto/data_structures/messages.d.ts +1936 -0
- package/dist/proto/data_structures/rtp_parameters.d.ts +1550 -0
- package/dist/proto/proto-ts/MediaappMessage.d.ts +148 -0
- package/dist/proto/proto-ts/data_structures/messages.d.ts +1924 -0
- package/dist/proto/proto-ts/data_structures/rtp_parameters.d.ts +1550 -0
- package/dist/proto/proto-ts/google/protobuf/empty.d.ts +32 -0
- package/dist/proto/proto-ts/google/protobuf/wrappers.d.ts +238 -0
- package/dist/proto/proto-ts/utils.d.ts +30 -0
- package/dist/publish/media.d.ts +11 -0
- package/dist/publish/mediaapp.d.ts +4 -0
- package/dist/response/index.d.ts +4 -0
- package/dist/response/media.d.ts +10 -0
- package/dist/response/mediaapp.d.ts +11 -0
- package/package.json +2 -2
package/dist/Client.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MediaKind, RtpParameters } from "./proto/proto-ts/data_structures/rtp_parameters";
|
|
2
|
+
import { ConsumerCreatedRequest, Speaker } from "./proto/proto-ts/data_structures/messages";
|
|
3
|
+
import { Consumer } from "mediasoup-client/lib/Consumer";
|
|
4
|
+
import { Transport } from "mediasoup-client/lib/Transport";
|
|
5
|
+
interface ConsumerInfo {
|
|
6
|
+
producerId: string;
|
|
7
|
+
kind: MediaKind;
|
|
8
|
+
producerPaused: boolean;
|
|
9
|
+
speaker?: Speaker;
|
|
10
|
+
consumer?: Consumer;
|
|
11
|
+
rtpParameters?: RtpParameters;
|
|
12
|
+
mediaStream?: MediaStream;
|
|
13
|
+
mediaElement?: HTMLAudioElement | HTMLVideoElement;
|
|
14
|
+
}
|
|
15
|
+
declare class Client {
|
|
16
|
+
clientId: string | undefined;
|
|
17
|
+
rtpParameters: RtpParameters | undefined;
|
|
18
|
+
consumerList: Map<string, ConsumerInfo>;
|
|
19
|
+
constructor(consumerCreatedRequest: ConsumerCreatedRequest);
|
|
20
|
+
pushConsumerList(consumerInfo: ConsumerInfo): false | undefined;
|
|
21
|
+
genConsumer(consumerCreatedRequest: ConsumerCreatedRequest | undefined, consumerTransport: Transport | undefined): Promise<{
|
|
22
|
+
consumer: undefined;
|
|
23
|
+
producerId: string;
|
|
24
|
+
} | undefined>;
|
|
25
|
+
updateConsumerForConsumer(producerId: string, consumer: Consumer | undefined): void;
|
|
26
|
+
updateConsumerForStream(producerId: string, mediaStream: MediaStream): void;
|
|
27
|
+
updateConsumerForElement(producerId: string, mediaElement: HTMLAudioElement | HTMLVideoElement): void;
|
|
28
|
+
mediaStreamAddTrack(consumer: Consumer, mediaElement: HTMLAudioElement | HTMLVideoElement): void;
|
|
29
|
+
genAudioElement(producerId: string): HTMLAudioElement;
|
|
30
|
+
genVideoElement(producerId: string): HTMLVideoElement;
|
|
31
|
+
}
|
|
32
|
+
export { Client };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type Callback<T = any> = (args: T) => void;
|
|
2
|
+
export declare class EventEmitter<Events extends Record<keyof any, any>> {
|
|
3
|
+
private map;
|
|
4
|
+
on<Name extends keyof Events>(name: Name, cb: Callback<Events[Name]>): void;
|
|
5
|
+
emit<Name extends keyof Events>(name: Name, args: Events[Name]): void;
|
|
6
|
+
off<Name extends keyof Events>(name?: Name, cb?: Callback<Events[Name]>): void;
|
|
7
|
+
once<Name extends keyof Events>(name: Name, cb: Callback<Events[Name]>): void;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HyRtcCoreOptions, joinMonitorArgs, joinRoomArgs } from './interface/HyRtcCore';
|
|
2
|
+
import { Message } from "./Message";
|
|
3
|
+
import { EventEmitter } from './EventEmitter';
|
|
4
|
+
import { Room } from "./Room";
|
|
5
|
+
import { RoomManager } from "./RoomManager";
|
|
6
|
+
export declare class HyRtcCore extends EventEmitter<any> {
|
|
7
|
+
HyRtcCoreOptions: HyRtcCoreOptions | undefined;
|
|
8
|
+
Message: Message | undefined;
|
|
9
|
+
RoomManager: RoomManager | undefined;
|
|
10
|
+
private readonly eventEmit;
|
|
11
|
+
constructor();
|
|
12
|
+
registerMessageEvents(): void;
|
|
13
|
+
init(HyRtcCoreOptions: HyRtcCoreOptions): Promise<unknown>;
|
|
14
|
+
NewMessage(): Message;
|
|
15
|
+
NewRoomManager(): void;
|
|
16
|
+
joinChannel(params: joinRoomArgs): Promise<Room | Error>;
|
|
17
|
+
joinMonitor(params: joinMonitorArgs): Promise<Room | Error>;
|
|
18
|
+
getAllRooms(): Map<string, Room> | undefined;
|
|
19
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { authInfo, callbackFunction, HyRtcCoreOptions, joinMonitorArgs, joinRoomArgs, MessageOptions, replyParams, sendParams } from "./interface/HyRtcCore";
|
|
2
|
+
import mqtt from "mqtt";
|
|
3
|
+
import { IClientPublishOptions } from "mqtt/src/lib/client";
|
|
4
|
+
import { Room } from "./Room";
|
|
5
|
+
import { EventEmitter } from "./EventEmitter";
|
|
6
|
+
declare class Message {
|
|
7
|
+
private readonly eventEmit;
|
|
8
|
+
mqttClient: mqtt.MqttClient | undefined;
|
|
9
|
+
authInfo: authInfo | undefined;
|
|
10
|
+
connectUrl: HyRtcCoreOptions['connectUrl'] | undefined;
|
|
11
|
+
constructor({ eventEmit }: {
|
|
12
|
+
eventEmit: EventEmitter<any>;
|
|
13
|
+
});
|
|
14
|
+
registerMessageEvents(): void;
|
|
15
|
+
connect({ authInfo }: MessageOptions, connectUrl: HyRtcCoreOptions['connectUrl']): Promise<unknown>;
|
|
16
|
+
handlerOnMessage: (topic: string, message: Uint8Array, packet: mqtt.IPublishPacket) => void;
|
|
17
|
+
subscribeMediaTopic(): void;
|
|
18
|
+
subscribeMediaAppTopic(): void;
|
|
19
|
+
subscribe(topic: string): void;
|
|
20
|
+
handlerMessageByte(messageType: string, msg: any): Uint8Array | "";
|
|
21
|
+
joinRoom(args: joinRoomArgs): Promise<Room>;
|
|
22
|
+
joinMonitor(args: joinMonitorArgs): Promise<Room>;
|
|
23
|
+
send(paramsOptions: sendParams): void;
|
|
24
|
+
/**
|
|
25
|
+
* 统一回复服务端的方法
|
|
26
|
+
* */
|
|
27
|
+
reply(paramsOptions: replyParams): void;
|
|
28
|
+
getClientId(): string | undefined;
|
|
29
|
+
getMqttClient(): mqtt.MqttClient | undefined;
|
|
30
|
+
nextCorrelationData(): {
|
|
31
|
+
correlationData: Uint8Array;
|
|
32
|
+
index: number;
|
|
33
|
+
};
|
|
34
|
+
correlationDataMapAdd(params: {
|
|
35
|
+
index: number;
|
|
36
|
+
topic: string;
|
|
37
|
+
payload: Uint8Array;
|
|
38
|
+
opts: IClientPublishOptions;
|
|
39
|
+
callback: callbackFunction | undefined;
|
|
40
|
+
responseMessageType: string;
|
|
41
|
+
}): void;
|
|
42
|
+
}
|
|
43
|
+
export { Message };
|
package/dist/Room.d.ts
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Message } from "./Message";
|
|
3
|
+
import { TransportOptions } from "./interface/HyRtcCore";
|
|
4
|
+
import { RtpCapabilitiesFinalized } from "./proto/proto-ts/data_structures/rtp_parameters";
|
|
5
|
+
import { Device } from "mediasoup-client";
|
|
6
|
+
import { EventEmitter } from "./EventEmitter";
|
|
7
|
+
import { Transport } from "mediasoup-client/lib/Transport";
|
|
8
|
+
import { ConsumerCreatedRequest } from "./proto/proto-ts/data_structures/messages";
|
|
9
|
+
import { Client } from "./Client";
|
|
10
|
+
import { RoomType } from "./enum/emum";
|
|
11
|
+
import { Producer } from "mediasoup-client/lib/Producer";
|
|
12
|
+
declare class Room {
|
|
13
|
+
private readonly eventEmit;
|
|
14
|
+
roomType: RoomType | undefined;
|
|
15
|
+
roomId: string | undefined;
|
|
16
|
+
clientId: string | undefined;
|
|
17
|
+
token: string | undefined;
|
|
18
|
+
message: Message | undefined;
|
|
19
|
+
consumerTransportOptions: TransportOptions | undefined;
|
|
20
|
+
producerTransportOptions: TransportOptions | undefined;
|
|
21
|
+
routerRtpCapabilities: RtpCapabilitiesFinalized | undefined;
|
|
22
|
+
rtpCapabilities: RtpCapabilitiesFinalized | undefined;
|
|
23
|
+
consumerTransport: Transport | undefined;
|
|
24
|
+
producerTransport: Transport | undefined;
|
|
25
|
+
audioProducerId: string;
|
|
26
|
+
videoProducerId: string;
|
|
27
|
+
clientList: Map<string, Client>;
|
|
28
|
+
device: Device | undefined;
|
|
29
|
+
keepaliveInterval: NodeJS.Timeout | undefined;
|
|
30
|
+
produceTag: string;
|
|
31
|
+
producerMap: Map<string, Producer>;
|
|
32
|
+
monitorDeviceId: string | undefined;
|
|
33
|
+
playElementBox: string | undefined;
|
|
34
|
+
constructor({ eventEmit }: {
|
|
35
|
+
eventEmit: EventEmitter<any>;
|
|
36
|
+
});
|
|
37
|
+
initRoom(): Promise<this>;
|
|
38
|
+
registerMessageEvents(): void;
|
|
39
|
+
setRoomId(roomId: string | undefined): this;
|
|
40
|
+
setClientId(clientId: string | undefined): this;
|
|
41
|
+
setPlayElementBox(playElementBox: string | undefined): this;
|
|
42
|
+
setToken(token: string | undefined): this;
|
|
43
|
+
setProduceTag(produceTag: string): this;
|
|
44
|
+
setRoomType(roomType: RoomType): this;
|
|
45
|
+
setMonitorDeviceId(monitorDeviceId: string | undefined): this;
|
|
46
|
+
publishChannel(): void;
|
|
47
|
+
publishMonitor(): Promise<unknown>;
|
|
48
|
+
joinMediaRoom(): void;
|
|
49
|
+
handlerRoomTransport(): Promise<void>;
|
|
50
|
+
keepalive(): void;
|
|
51
|
+
startConsuming(): Promise<void>;
|
|
52
|
+
createDevice(): Promise<void>;
|
|
53
|
+
createConsumerTransport(): Promise<void>;
|
|
54
|
+
createProducerTransport(): Promise<void>;
|
|
55
|
+
handlerProduce(trackList: MediaStreamTrack[]): Promise<void>;
|
|
56
|
+
getLocalAudioMedia(): Promise<MediaStream>;
|
|
57
|
+
getAudioMediaTrack(mediaStream: MediaStream): MediaStreamTrack[];
|
|
58
|
+
producerResume(): void;
|
|
59
|
+
producerPause(): void;
|
|
60
|
+
createNewClient(consumerCreatedRequest: ConsumerCreatedRequest): Promise<void>;
|
|
61
|
+
playMonitorElement(): void;
|
|
62
|
+
cleanMonitorElement(): void;
|
|
63
|
+
passiveLeaved(): void;
|
|
64
|
+
addClient(client: Client): void;
|
|
65
|
+
removeClient(clientId: string): void;
|
|
66
|
+
removeAllClient(): void;
|
|
67
|
+
getClient(clientId: string): Client | undefined;
|
|
68
|
+
getRoomId(): string | undefined;
|
|
69
|
+
leaveRoom(): void;
|
|
70
|
+
deleteRoom(): void;
|
|
71
|
+
clearKeepAlive(): void;
|
|
72
|
+
producerClose(): void;
|
|
73
|
+
destroyRoom(): void;
|
|
74
|
+
}
|
|
75
|
+
export { Room };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter } from "./EventEmitter";
|
|
2
|
+
import { Room } from "./Room";
|
|
3
|
+
declare class RoomManager extends EventEmitter<any> {
|
|
4
|
+
private readonly eventEmit;
|
|
5
|
+
roomList: Map<string, Room>;
|
|
6
|
+
constructor({ eventEmit }: {
|
|
7
|
+
eventEmit: EventEmitter<any>;
|
|
8
|
+
});
|
|
9
|
+
registerRoomEvents(): void;
|
|
10
|
+
addRoom(args: any): false | undefined;
|
|
11
|
+
deleteRoom(args: any): false | undefined;
|
|
12
|
+
getRoom({ roomId, callback }: {
|
|
13
|
+
roomId: string;
|
|
14
|
+
callback: any;
|
|
15
|
+
}): void;
|
|
16
|
+
getAllRooms(): Map<string, Room>;
|
|
17
|
+
}
|
|
18
|
+
export { RoomManager };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
export interface HyRtcCoreOptions {
|
|
2
|
+
autoConnect: boolean;
|
|
3
|
+
connectUrl: string;
|
|
4
|
+
authInfo: authInfo;
|
|
5
|
+
}
|
|
6
|
+
export interface authInfo {
|
|
7
|
+
clientId: string;
|
|
8
|
+
username: string;
|
|
9
|
+
password: string;
|
|
10
|
+
protocol: string;
|
|
11
|
+
}
|
|
12
|
+
export interface MessageOptions {
|
|
13
|
+
authInfo: authInfo;
|
|
14
|
+
}
|
|
15
|
+
export interface publishChannelArgs {
|
|
16
|
+
roomId?: string;
|
|
17
|
+
callback?: callbackFunction;
|
|
18
|
+
}
|
|
19
|
+
export interface publishMonitorArgs {
|
|
20
|
+
deviceId?: string;
|
|
21
|
+
callback?: callbackFunction;
|
|
22
|
+
}
|
|
23
|
+
export interface joinRoomArgs {
|
|
24
|
+
roomId: string;
|
|
25
|
+
callback?: callbackFunction;
|
|
26
|
+
}
|
|
27
|
+
export interface joinMonitorArgs {
|
|
28
|
+
deviceId: string;
|
|
29
|
+
playElementBox: string;
|
|
30
|
+
callback?: callbackFunction;
|
|
31
|
+
}
|
|
32
|
+
export interface publishJoinArgs {
|
|
33
|
+
token?: string;
|
|
34
|
+
forceTcp: boolean;
|
|
35
|
+
roomId?: string;
|
|
36
|
+
callback: callbackFunction;
|
|
37
|
+
}
|
|
38
|
+
export interface startConsumingArgs {
|
|
39
|
+
codecs: RtpCodecCapabilityFinalized[];
|
|
40
|
+
headerExtensions: RtpHeaderExtension[];
|
|
41
|
+
roomId?: string;
|
|
42
|
+
callback?: callbackFunction;
|
|
43
|
+
}
|
|
44
|
+
export interface keepAliveArgs {
|
|
45
|
+
roomId?: string;
|
|
46
|
+
callback?: callbackFunction;
|
|
47
|
+
}
|
|
48
|
+
export interface connectConsumerTransportArgs {
|
|
49
|
+
roomId?: string;
|
|
50
|
+
callback?: callbackFunction;
|
|
51
|
+
dtlsParametersProto: DtlsParameters;
|
|
52
|
+
consumerTransportCallback: Function;
|
|
53
|
+
}
|
|
54
|
+
export interface connectProducerTransportArgs {
|
|
55
|
+
roomId?: string;
|
|
56
|
+
callback?: callbackFunction;
|
|
57
|
+
dtlsParametersProto: DtlsParameters;
|
|
58
|
+
producerTransportCallback: Function;
|
|
59
|
+
}
|
|
60
|
+
export interface produceArgs {
|
|
61
|
+
roomId?: string;
|
|
62
|
+
callback?: callbackFunction;
|
|
63
|
+
produceCallback: Function;
|
|
64
|
+
tag: string;
|
|
65
|
+
kind: MediaKind;
|
|
66
|
+
rtpParameters: RtpParameters;
|
|
67
|
+
}
|
|
68
|
+
export interface producerResumeArgs {
|
|
69
|
+
roomId?: string;
|
|
70
|
+
callback?: callbackFunction;
|
|
71
|
+
producerId: string;
|
|
72
|
+
}
|
|
73
|
+
export interface producerPauseArgs {
|
|
74
|
+
roomId?: string;
|
|
75
|
+
callback?: callbackFunction;
|
|
76
|
+
producerId: string;
|
|
77
|
+
}
|
|
78
|
+
export interface leaveArgs {
|
|
79
|
+
callback?: callbackFunction;
|
|
80
|
+
roomId?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface callbackFunction {
|
|
83
|
+
(param: any): void;
|
|
84
|
+
}
|
|
85
|
+
export interface sendParams {
|
|
86
|
+
topic: string;
|
|
87
|
+
messageType: string;
|
|
88
|
+
message: object | undefined;
|
|
89
|
+
callback?: callbackFunction;
|
|
90
|
+
responseMessageType: string;
|
|
91
|
+
promise?: Promise<any>;
|
|
92
|
+
}
|
|
93
|
+
export interface replyParams {
|
|
94
|
+
topic: string;
|
|
95
|
+
messageType: string;
|
|
96
|
+
message: object | undefined;
|
|
97
|
+
correlationData: Uint8Array;
|
|
98
|
+
}
|
|
99
|
+
import { DtlsParameters, IceCandidate, IceParameters, MediaKind, RtpCodecCapabilityFinalized, RtpHeaderExtension, RtpParameters } from "../proto/proto-ts/data_structures/rtp_parameters";
|
|
100
|
+
export interface TransportOptions {
|
|
101
|
+
id: string;
|
|
102
|
+
dtlsParameters: DtlsParameters | undefined;
|
|
103
|
+
iceCandidates: IceCandidate[];
|
|
104
|
+
iceParameters: IceParameters | undefined;
|
|
105
|
+
}
|