zego-express-engine-webrtc
Version:
zego webrtc express sdk
277 lines (276 loc) • 7.42 kB
TypeScript
import type { ZegoUser } from "../zh/ZegoExpressEntity.rtm";
import type ZegoLocalStream from "./ZegoLocalStream.web";
/**
* 版权音乐配置。
*
*/
export interface ZegoCopyrightedMusicConfig {
/**
* 用户对象实例,配置用户 ID、用户名。 注意此处设置的用户 ID 需要与登录房间时设置的用户 ID 保持一致,否则会出现请求版权音乐后台服务失败的情况。
*/
user: ZegoUser;
}
/**
* 音乐资源类型。用于 [ZegoCopyrightedMusicRequestConfig] 配置。
*
*/
export declare enum ZegoCopyrightedMusicResourceType {
/**
* 原曲。
*/
Song = 0,
/**
* 伴奏。
*/
Accompaniment = 1,
/**
* 高潮片段。
*/
AccompanimentClip = 2,
/**
* 抢唱片段。
*/
AccompanimentSegment = 3
}
/**
* 点歌计费模式。
*
*/
export declare enum ZegoCopyrightedMusicBillingMode {
/**
* 按次计费。用户每获取一次歌曲资源都需要计一次费用,即根据实际调用获取歌曲资源接口(如 [requestResource] 接口)传参为按次的用户进行收费。
*/
Count = 0,
/**
* 按用户包月计费。按月维度向单个用户计费,即统计调用获取歌曲资源传参为按用户包月的用户 ID,按月维度进行收费。
*/
User = 1,
/**
* 按房间包月计费。按月维度向房间用户计费,即统计调用获取歌曲资源传参为按房间包月的 roomID,按月维度进行收费。
*/
Room = 2,
/**
* 按房主包月计费。用户每获取一次资源,都计为房主获取资源,即根据实际调用获取歌曲资源接口传参为房间的 roomID、masterID,按房主进行收费。
*/
Master = 3
}
/**
* 版权方。版权方的详细信息,请联系 ZEGO 商务人员咨询。
*
*/
export declare enum ZegoCopyrightedMusicVendorID {
/**
* 默认版权方。
*/
VendorDefault = 0,
/**
* 版权方1。
*/
Vendor1 = 1,
/**
* 版权方2。
*/
Vendor2 = 2,
/**
* 版权方3。
*/
Vendor3 = 4
}
/**
* 下载歌曲返回结果。
*
*/
export interface ZegoCopyrightedMusicDownloadResponse {
/**
* 错误码,详情请参考 常见错误码文档。
*/
errorCode: number;
/**
* 歌曲链接列表,如果下载的是伴奏,第一个链接是伴奏,第二个是原曲。
*/
urls: string[];
}
/**
* 获取 krc 格式歌词完成回调。
*
*/
export interface ZegoCopyrightedMusicGetKrcLyricByTokenResponse {
/**
* 错误码,详情请参考 常见错误码文档。
*/
errorCode: number;
/**
* lrc 格式歌词,专用于逐行格式歌词场景,详情请参考 https://doc-zh.zego.im/article/15563。
*/
lyrics: any;
}
/**
* 获取 lrc 格式歌词完成回调结果。
*
*/
export interface ZegoCopyrightedMusicGetLrcLyricResponse {
/**
* 错误码,详情请参考 常见错误码文档。
*/
errorCode: number;
/**
* lrc 格式歌词,专用于逐行格式歌词场景,详情请参考 https://doc-zh.zego.im/article/15563。
*/
lyrics: any;
}
/**
* 获取资源的配置。
*
*/
export interface ZegoCopyrightedMusicRequestConfig {
/**
* 歌曲 ID。
*/
songID: string;
/**
* 版权方。
*/
vendorID: ZegoCopyrightedMusicVendorID;
/**
* 计费模式。
*/
mode: ZegoCopyrightedMusicBillingMode;
/**
* 房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段。
*/
masterID?: string;
/**
* 场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。
*/
sceneID?: number;
}
export interface ZegoCopyrightedMusicRequestSharedResourceByTokenConfig {
/**
* 分享歌曲 token
*/
shareToken: string;
/**
* 计费模式。当歌曲版权方 vendorID 为 1 时必传。
*/
mode?: ZegoCopyrightedMusicBillingMode;
/**
* 房主 ID, 当计费模式为按房主计费时必传。指明按哪个房主进行点歌/点伴奏/高潮片段。
*/
masterID?: string;
/**
* 场景 ID, 指明实际业务,详情可咨询 ZEGO 技术支持。
*/
sceneID?: number;
}
/**
* 获取标准音高线数据完成回调结果。
*
*/
export interface ZegoCopyrightedMusicGetStandardPitchResponse {
/**
* 错误码,详情请参考 常见错误码文档。
*/
errorCode: number;
/**
* 标准音高线数据。详情请参考 Android:https://doc-zh.zego.im/article/15148, iOS:https://doc-zh.zego.im/article/15147
*/
pitch: any;
}
/**
* 获取资源的结果。
*
*/
export interface ZegoCopyrightedMusicRequestResourceResponse {
/**
* 错误码,详情请参考 常见错误码文档。
*/
errorCode: number;
/**
* 点歌服务返回的 JSON,包含歌曲资源信息,详细请参考 https://doc-zh.zego.im/article/15563#1_1。
*/
resource: any;
}
/**
* 扩展请求结果。
*
*/
export interface ZegoCopyrightedMusicSendExtendedRequestResponse {
/**
* 错误码,详情请参考 常见错误码文档。
*/
errorCode: number;
result: any;
}
/**
* 开始打分相关参数。
*
*/
export interface ZegoStartScoreParams {
/**
* 伴奏或高潮片段对应的资源 ID。
*/
resourceID: string;
/**
* 采集麦克风声音的媒体流对象。
*/
localStream: MediaStream | ZegoLocalStream;
/**
* 播放伴奏的 h5 播放器。
*/
player: HTMLMediaElement;
/**
* 开启每行打分完成回调。
*/
enableSongLineScoreCompleteEvent?: boolean;
}
/**
* 版权音乐功能相关事件集合。
*
* Note: 详情描述:描述事件名及其对应的回调参数。
*
* Note: 业务场景:用于约束注册事件接口 on 和注销事件接口 off 的参数。
*
*/
export interface ZegoCopyrightedMusicEvent {
/**
* 麦克风状态更新事件。
*/
downloadProgressUpdate: DownloadProgressUpdateCallBack;
songLineScoreComplete: SongLineScoreCompleteCallBack;
}
/**
* 歌曲每行打分完成信息。
*
*/
export interface ZegoSongLineScoreInfo {
/**
* 行的索引。
*/
lineIndex: number;
/**
* 打分完成这一句分数。
*/
previousScore: number;
/**
* 平均分。
*/
averageScore: number;
/**
* 总分。
*/
totalScore: number;
}
/**
* 详情描述:加载歌曲或伴奏进度回调。
*
* @param resourceID 歌曲资源 ID。
* @param progressRate 加载进度,取值范围 [0,1]。
*/
type DownloadProgressUpdateCallBack = (resourceID: string, progressRate: number) => void;
/**
* 详情描述:歌曲每行打分完成回调。
*
* @param LineScoreInfo 歌曲每行回调,包含这一行结束时的分数、平均分、总分。
*/
type SongLineScoreCompleteCallBack = (LineScoreInfo: ZegoSongLineScoreInfo) => void;
export {};