|
@@ -156,8 +156,6 @@ export function initListener(vue) {
|
|
|
|
|
|
// 新增订阅流事件
|
|
|
rtc.on('allow_sub', function (stream) {
|
|
|
- let streamType = stream.streamType();
|
|
|
- console.log(streamType);
|
|
|
if (stream.isMixed()) {
|
|
|
console.log('是混合流,不订阅');
|
|
|
} else {
|
|
@@ -185,7 +183,8 @@ export function initListener(vue) {
|
|
|
// 房间全量信息事件
|
|
|
rtc.on('room_context', roomData => {
|
|
|
vue.roomContext = JSON.parse(roomData);
|
|
|
- console.log('房间全量信息事件', JSON.parse(roomData));
|
|
|
+ vue.getLiveRoomStudentList();
|
|
|
+ console.log('房间全量信息事件(人员进出时广播)', JSON.parse(roomData));
|
|
|
});
|
|
|
|
|
|
rtc.on('publish_stream', str => {
|
|
@@ -208,10 +207,11 @@ export function initListener(vue) {
|
|
|
// 人员列表事件(人员麦序变化时广播)
|
|
|
rtc.on('speak_context', speakData => {
|
|
|
vue.speakData = JSON.parse(speakData);
|
|
|
+ console.log('人员列表事件(人员麦序变化时广播)', JSON.parse(speakData));
|
|
|
});
|
|
|
|
|
|
rtc.on('switch_settings', data => {
|
|
|
- console.log(data); // 房间设置事件
|
|
|
+ console.log('房间设置事件', data); // 房间设置事件
|
|
|
});
|
|
|
|
|
|
rtc.on('publishStreamErr', data => {
|
|
@@ -221,10 +221,56 @@ export function initListener(vue) {
|
|
|
|
|
|
// 视频无法自动播放
|
|
|
rtc.on('playError', data => {
|
|
|
- console.log(data);
|
|
|
+ console.log('视频无法自动播放', data);
|
|
|
});
|
|
|
|
|
|
- // 监听聊天事件
|
|
|
+ /**
|
|
|
+ * 排麦监听事件
|
|
|
+ */
|
|
|
+
|
|
|
+ // 监听自己被邀请事件
|
|
|
+ rtc.on('inviteUp', uid => {
|
|
|
+ console.log('监听自己被邀请事件', uid);
|
|
|
+ rtc.inviteAccept({
|
|
|
+ success: function (str) {
|
|
|
+ console.log('接受邀请成功', str);
|
|
|
+ },
|
|
|
+ fail: function (data) {
|
|
|
+ console.log('接受邀请失败', data);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ rtc.on('createLocalStream', () => {
|
|
|
+ // 创建本地流推流
|
|
|
+ console.log('创建本地流推流');
|
|
|
+ const createData = {
|
|
|
+ video: true,
|
|
|
+ audio: true
|
|
|
+ };
|
|
|
+ rtc.createLocalStream({
|
|
|
+ streamName: 'main',
|
|
|
+ createData,
|
|
|
+ success: function (stream) {
|
|
|
+ console.log('创建本地流成功', stream);
|
|
|
+ // 创建本地流成功,将流展示到id为 live 的dom元素盒子中
|
|
|
+ stream.show('student');
|
|
|
+ publishStream(); // 如果需要立即推流,执行 publish 方法
|
|
|
+ },
|
|
|
+ fail: function (data) {
|
|
|
+ console.log('创建本地流失败,应用层处理', data);
|
|
|
+ // 创建本地流失败,应用层处理
|
|
|
+ Message({
|
|
|
+ type: 'error',
|
|
|
+ message: '创建本地流失败:' + data
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 监听聊天事件
|
|
|
+ */
|
|
|
rtc.on('chat_message', data => {
|
|
|
let dat = JSON.parse(data);
|
|
|
console.log(dat);
|
|
@@ -407,6 +453,22 @@ export function handsUp(data) {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 下麦操作
|
|
|
+ * @param { String } uid
|
|
|
+ */
|
|
|
+export function handsDown(uid) {
|
|
|
+ rtc.handsDown({
|
|
|
+ uid,
|
|
|
+ success: function (str) {
|
|
|
+ console.log('下麦成功', str);
|
|
|
+ },
|
|
|
+ fail: function (data) {
|
|
|
+ console.log('下麦失败', data);
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
* @description 学生端接受老师的上麦邀请,同意上麦
|
|
|
*/
|
|
|
export function inviteAccept() {
|