bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/audio/service.js

43 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-03-28 04:40:44 +08:00
import React from 'react';
2017-03-28 22:02:23 +08:00
import AudioModal from './audio-modal/component';
import Meetings from '/imports/api/meetings';
2017-04-19 23:01:28 +08:00
import Users from '/imports/api/users';
import Auth from '/imports/ui/services/auth';
2017-03-28 22:02:23 +08:00
import AudioManager from '/imports/api/audio/client/manager';
2017-03-28 22:02:23 +08:00
2017-06-03 03:25:02 +08:00
let audioManager;
2017-04-19 22:59:57 +08:00
const init = () => {
2017-04-19 23:01:28 +08:00
const userId = Auth.userID;
const User = Users.findOne({ userId });
const username = User.user.name;
2017-06-03 03:25:02 +08:00
const Meeting = Meetings.findOne(); // TODO test this with Breakouts
2017-04-19 23:01:28 +08:00
const turns = Meeting.turns;
const stuns = Meeting.stuns;
2017-04-21 04:53:55 +08:00
const voiceBridge = Meeting.voiceConf;
const microphoneLockEnforced = Meeting.roomLockSettings.disableMic;
2017-04-19 22:59:57 +08:00
2017-04-19 23:01:28 +08:00
const userData = {
userId,
username,
turns,
stuns,
voiceBridge,
microphoneLockEnforced,
2017-04-19 23:01:28 +08:00
};
audioManager = new AudioManager(userData);
};
2017-04-19 22:59:57 +08:00
2017-06-03 03:25:02 +08:00
const exitAudio = () => audioManager.exitAudio();
const joinListenOnly = () => audioManager.joinAudio(true);
const joinMicrophone = () => audioManager.joinAudio(false);
2017-03-31 01:57:05 +08:00
export default {
2017-04-19 22:59:57 +08:00
init,
2017-03-28 22:02:23 +08:00
exitAudio,
joinListenOnly,
joinMicrophone,
2017-03-28 04:40:44 +08:00
};