2016-10-05 14:36:59 +00:00
|
|
|
import {
|
2017-01-11 18:14:00 +00:00
|
|
|
SET_AUDIO_MUTED,
|
|
|
|
SET_CAMERA_FACING_MODE,
|
|
|
|
SET_VIDEO_MUTED
|
2016-10-05 14:36:59 +00:00
|
|
|
} from './actionTypes';
|
|
|
|
import { CAMERA_FACING_MODE } from './constants';
|
|
|
|
import './middleware';
|
|
|
|
import './reducer';
|
|
|
|
|
|
|
|
/**
|
2017-01-11 18:14:00 +00:00
|
|
|
* Action to change the local audio muted state.
|
2016-10-05 14:36:59 +00:00
|
|
|
*
|
|
|
|
* @param {boolean} muted - If local audio is muted.
|
|
|
|
* @returns {{
|
2017-01-11 18:14:00 +00:00
|
|
|
* type: SET_AUDIO_MUTED,
|
2016-10-05 14:36:59 +00:00
|
|
|
* muted: boolean
|
|
|
|
* }}
|
|
|
|
*/
|
2017-01-11 18:14:00 +00:00
|
|
|
export function setAudioMuted(muted) {
|
2016-10-05 14:36:59 +00:00
|
|
|
return {
|
2017-01-11 18:14:00 +00:00
|
|
|
type: SET_AUDIO_MUTED,
|
2016-10-05 14:36:59 +00:00
|
|
|
muted
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2017-01-11 18:14:00 +00:00
|
|
|
* Action to change the facing mode of the local video camera.
|
2016-10-05 14:36:59 +00:00
|
|
|
*
|
|
|
|
* @param {CAMERA_FACING_MODE} cameraFacingMode - Camera facing mode.
|
|
|
|
* @returns {{
|
2017-01-11 18:14:00 +00:00
|
|
|
* type: SET_CAMERA_FACING_MODE,
|
2016-10-05 14:36:59 +00:00
|
|
|
* cameraFacingMode: CAMERA_FACING_MODE
|
|
|
|
* }}
|
|
|
|
*/
|
2017-01-11 18:14:00 +00:00
|
|
|
export function setCameraFacingMode(cameraFacingMode) {
|
2016-10-05 14:36:59 +00:00
|
|
|
return {
|
2017-01-11 18:14:00 +00:00
|
|
|
type: SET_CAMERA_FACING_MODE,
|
2016-10-05 14:36:59 +00:00
|
|
|
cameraFacingMode
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Toggles the mute state of the local audio track(s).
|
|
|
|
*
|
|
|
|
* @returns {Function}
|
|
|
|
*/
|
|
|
|
export function toggleAudioMuted() {
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
const muted = getState()['features/base/media'].audio.muted;
|
|
|
|
|
2017-01-11 18:14:00 +00:00
|
|
|
return dispatch(setAudioMuted(!muted));
|
2016-10-05 14:36:59 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Toggles the camera between front and rear (user and environment).
|
|
|
|
*
|
|
|
|
* @returns {Function}
|
|
|
|
*/
|
|
|
|
export function toggleCameraFacingMode() {
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
let cameraFacingMode
|
|
|
|
= getState()['features/base/media'].video.facingMode;
|
|
|
|
|
|
|
|
cameraFacingMode
|
|
|
|
= cameraFacingMode === CAMERA_FACING_MODE.USER
|
|
|
|
? CAMERA_FACING_MODE.ENVIRONMENT
|
|
|
|
: CAMERA_FACING_MODE.USER;
|
|
|
|
|
2017-01-11 18:14:00 +00:00
|
|
|
return dispatch(setCameraFacingMode(cameraFacingMode));
|
2016-10-05 14:36:59 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Toggles the mute state of the local video track(s).
|
|
|
|
*
|
|
|
|
* @returns {Function}
|
|
|
|
*/
|
|
|
|
export function toggleVideoMuted() {
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
const muted = getState()['features/base/media'].video.muted;
|
|
|
|
|
2017-01-11 18:14:00 +00:00
|
|
|
return dispatch(setVideoMuted(!muted));
|
2016-10-05 14:36:59 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2017-01-11 18:14:00 +00:00
|
|
|
* Action to change the local video muted state.
|
2016-10-05 14:36:59 +00:00
|
|
|
*
|
|
|
|
* @param {boolean} muted - If local video is muted.
|
|
|
|
* @returns {{
|
2017-01-11 18:14:00 +00:00
|
|
|
* type: SET_VIDEO_MUTED,
|
2016-10-05 14:36:59 +00:00
|
|
|
* muted: boolean
|
|
|
|
* }}
|
|
|
|
*/
|
2017-01-11 18:14:00 +00:00
|
|
|
export function setVideoMuted(muted) {
|
2016-10-05 14:36:59 +00:00
|
|
|
return {
|
2017-01-11 18:14:00 +00:00
|
|
|
type: SET_VIDEO_MUTED,
|
2016-10-05 14:36:59 +00:00
|
|
|
muted
|
|
|
|
};
|
|
|
|
}
|