// 一个stream 对应一个 player import { DEFAULT_PLAYER_CONFIG } from "../common/constants"; class Stream { constructor(options) { Object.assign(this, DEFAULT_PLAYER_CONFIG, { userID: '', // 该stream 关联的userID streamType: '', // stream 类型 [main small] aux isVisible: true, // 手Q初始化时不能隐藏 puser和player 否则黑屏。iOS 微信初始化时不能隐藏,否则同层渲染失败,player会置顶 hasVideo: false, hasAudio: false, playerContext: undefined // playerContext 依赖component context来获取,目前只能在渲染后获取 }, options); } /** * 大小流切换 */ switchMainSmallStream() { if (this.streamType === 'main' || this.streamType === 'small') {// 大小流切换逻辑 // 修改 streamType 和 streamURL 并调用 componentContext setData() } else { console.log('aux 不支持大小流切换'); } } reset() { if (!this.playerContext) { this.playerContext.stop(); this.playerContext = null; } Object.assign(this, DEFAULT_PLAYER_CONFIG, { userID: '', // 该stream 关联的userID streamType: '', // stream 类型 [main small] aux streamID: '', isVisible: true, hasVideo: false, hasAudio: false, playerContext: undefined }); } } export default Stream;