Show:

Exp-video-config Class

These docs have moved here.

Video configuration frame guiding user through making sure permissions are set appropriately and microphone is working, with troubleshooting text. Almost all content is hard-coded, to provide a general-purpose technical setup frame.

"frames": {
    "video-config": {
        "kind": "exp-video-config",
        "troubleshootingIntro": "If you're having any trouble getting your webcam set up,
          please feel free to call the XYZ lab at (123) 456-7890 and we'd be glad to
          help you out!"
    }
}

Methods

beforeUnload

(
  • event
)
String | Null

Provided by the exp-player module.

Defined in app/components/exp-player/component.js:62

Customize what happens when the user exits the page

Parameters:

  • event Event

    The event to be handled

Returns:

String | Null:

If string is provided, triggers a modal to confirm user wants to leave page

destroyRecorder

()
Destroy recorder and stop accessing webcam

hideRecorder

()
Hide the recorder from display. Useful if you would like to keep recording without extra UI elements to distract the user.

makeTimeEvent

(
  • eventName
  • extra
)
Object
Extend any base time event capture with information about the recorded video

Parameters:

Returns:

Object:

Event data object

onRecordingStarted

()
Function called when frame recording is started automatically. Override to do frame-specific actions at this point (e.g., beginning a test trial).

setupRecorder

(
  • element
)
Promise
Set up a video recorder instance

Parameters:

  • element Node
    A DOM node representing where to mount the recorder

Returns:

Promise: A promise representing the result of installing the recorder

showRecorder

()
Show the recorder to the user. Useful if you want to temporarily show a hidden recorder- eg to let the user fix a problem with video capture settings

startRecorder

()
Start recording

Returns:

Promise Resolves when recording has started

stopRecorder

()
Stop the recording

Returns:

Promise A promise that resolves when upload is complete

whenPossibleToRecordObserver

()
Observer that starts recording once recorder is ready.

Properties

audioOnly

Number

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:158

Whether to do audio-only (vs also video) recording. Can be overridden by consuming frame.

Default: 0

autosave

Number private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:149

Whether to autosave recordings. Can be overridden by consuming frame. TODO: eventually use this to set up non-recording option for previewing

Default: 1

doUseCamera

Boolean

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:165

Whether to use the camera in this frame. Consuming frame should set this property to override if needed.

Default: true

maxRecordingLength

Number

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:133

Maximum recording length in seconds. Can be overridden by consuming frame.

Default: 7200

maxUploadSeconds

Number

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:140

Maximum time allowed for video upload before proceeding, in seconds. Can be overridden by researcher, based on tradeoff between making families wait and losing data.

Default: 5

messageEarlyExitModal

String | Null

Specific to this element. Defined in app/components/exp-player/component.js:56

The message to display in the early exit modal. Newer browsers may not respect this message.

recorder

VideoRecorder private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:92

The recorder object, accessible to the consuming frame. Includes properties recorder.nWebcams, recorder.hasCamAccess, recorder.micChecked, recorder.connected.

recorderElement

String private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:117

JQuery string to identify the recorder element.

Default: '#recorder'

recorderReady

Boolean private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:125

Whether recorder has been set up yet. Automatically set when doing setup. Accessible to consuming frame.

showWaitForRecordingMessage

Boolean private

showWaitForUploadMessage

Boolean private

startRecordingAutomatically

Boolean private

stoppedRecording

Boolean private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:108

Whether recording is stopped already, meaning it doesn't need to be re-stopped when destroying frame. This should be set to true by the consuming frame when video is stopped.

troubleshootingIntro

String

Specific to this element. Defined in app/components/exp-video-config/component.js:173

Text to show as the introduction to the troubleshooting tips section

Default: ""

videoId

String private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:181

A video ID to use for the current recording. Format is videoStream_<experimentId>_<frameId>_<sessionId>_timestampMS_RRR where RRR are random numeric digits.

videoList

List private

Inherited from Video-record (click for formatted description): app/mixins/video-record.js:100

A list of all video IDs used in this mixin (a new one is created for each recording). Accessible to consuming frame.

waitForRecordingMessage

Boolean private

waitForRecordingMessageColor

Boolean private

waitForUploadMessage

Boolean private

waitForUploadMessageColor

String private

waitForWebcamImage

String private

waitForWebcamVideo

String private

Events

hasCamAccess

When recorder detects a change in camera access

Event Payload:

pauseVideo

When pausing study, immediately before request to pause webcam recording

recorderReady

When video recorder has been installed

stoppingCapture

Just before stopping webcam video capture

unpauseVideo

When unpausing study, immediately before request to resume webcam recording

videoStreamConnection

When recorder detects a change in video stream connection status

Event Payload:

  • status String

    status of video stream connection, e.g. 'NetConnection.Connect.Success' if successful