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
|
|
|
|
2017-04-20 04:52:50 +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;
|
2017-05-04 04:12:47 +08:00
|
|
|
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,
|
2017-05-04 04:12:47 +08:00
|
|
|
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
|
|
|
|
2017-05-03 01:18:01 +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
|
|
|
};
|