GUMConfiguration
Usage With React:
import GUMConfiguration from 'phenix-react-gum-configuration';
...
<GUMConfiguration
confirmUserMedia={confirmUserMedia}
style={style}
classNames={classNames}
includeScreen={includeScreen}
confirmButtonText={confirmButtonText}
storeLocalStateKey={storeLocalStateKey}
aspectRatio={aspectRatio}
resolution={resolution}
frameRate={frameRate}
gotUserMedia={gotUserMedia}/>
Usage Without React:
var GUMConfiguration = require('{path-to-module}/phenix-react-gum-configuration/dist/phenix-gum-configuration.min');
...
gumConfiguration = new GUMConfiguration(elementSelector, {
confirmUserMedia: confirmUserMedia,
style: style,
classNames: classNames,
includeScreen: includeScreen,
confirmButtonText: confirmButtonText,
storeLocalStateKey: storeLocalStateKey,
aspectRatio: aspectRatio,
resolution: resolution,
frameRate: frameRate,
gotUserMedia: gotUserMedia
})
Properties
confirmUserMedia
Required - Function - to be called when confirmUserMedia is clicked. Returns the UserMediaStream.
aspectRatio
Optional - string - Aspect ratio to request video media at. Allowed values include: '16x9' and '4x3'
resolution
Optional - number - Resolution to request video media at. Examples: 1080, 720
frameRate
Optional - number - Frame Rate to request video media at. Examples: 60, 30, 15
gotUserMedia
Optional - Function - to be called when the selected media options change and the UserMedia is successfully or unsuccessfully requested. In the event of a failure to request user media, the next closest resolution will be requested.
function gotUserMedia(error, response) {
if (error) {
}
if (response && response.constraints) {
if (response.constraints.resolution !== 'SelectedResolution') {
}
if (response.constraints.frameRate !== 'SelectedFrameRate') {
}
if (response.constraints.aspectRatio !== 'SelectedAspectRatio') {
}
}
if (response && response.userMedia) {
}
if (response && response.deviceOptions) {
}
}
confirmButtonText
Optional - string - Override the default text used in the Confirm button. Defaults to 'Confirm Microphone & Camera Settings'
style
Optional - Object - Pass this prop if you want to change styling of the component with inline styles in addition to applying the default styles. This prop should be an object with the following structure:
{
audioConfiguration: {...inlineStyles},
videoConfiguration: {...inlineStyles},
videoPreview: {...inlineStyles},
audioPreview: {...inlineStyles},
sourceSelect: {...inlineStyles},
confirmButton: {...inlineStyles},
}
classNames
Optional - Object - Pass this prop if you want to change styling of the component by providing your own classname and not apply the default styles. This prop should be an object with the following structure:
{
audioConfiguration: 'className',
videoConfiguration: 'className',
videoPreview: 'className',
audioPreview: 'className',
sourceSelect: 'className',
confirmButton: 'className',
}
includeScreen
Bool prop. If true screen
option is included to videoSource selector.