bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/chat/alert/audio-alert/component.jsx
2020-11-30 16:09:35 +00:00

45 lines
1011 B
JavaScript

import { Component } from 'react';
import PropTypes from 'prop-types';
import AudioService from '/imports/ui/components/audio/service';
import {Meteor} from "meteor/meteor";
const propTypes = {
play: PropTypes.bool.isRequired,
};
class ChatAudioAlert extends Component {
constructor(props) {
super(props);
this.handleAudioLoaded = this.handleAudioLoaded.bind(this);
this.playAudio = this.playAudio.bind(this);
}
componentDidMount() {
this.handleAudioLoaded();
}
componentWillUnmount() {
this.handleAudioLoaded();
}
handleAudioLoaded() {
this.componentDidUpdate = this.playAudio;
}
playAudio() {
const { play } = this.props;
if (!play) return;
AudioService.playAlertSound(`${Meteor.settings.public.app.cdn
+ Meteor.settings.public.app.basename
+ Meteor.settings.public.app.instanceId}`
+ '/resources/sounds/notify.mp3');
}
render() {
return null;
}
}
ChatAudioAlert.propTypes = propTypes;
export default ChatAudioAlert;