add default mimeType if none is specified

This commit is contained in:
jade 2025-01-31 17:29:37 -05:00
parent 81612ff171
commit 1f535826a2
4 changed files with 16 additions and 3 deletions

View File

@ -0,0 +1,5 @@
---
"jspsych": patch
---
add a default `mimeType` of `"video/webm" to `initializeCameraRecorder()`

View File

@ -507,8 +507,7 @@ None.
#### Description #### Description
Generates a `MediaRecorder` object from provided `MediaStream` and stores this for access via [`getCameraRecorder()`](#getcamerarecorder). Generates a `MediaRecorder` object from provided `MediaStream` and stores this for access via [`getCameraRecorder()`](#getcamerarecorder). By default, `mimeType` is set to `"video/webm"`.
#### Example #### Example
```javascript ```javascript

View File

@ -13,7 +13,10 @@
const jsPsych = initJsPsych({ const jsPsych = initJsPsych({
extensions: [ extensions: [
{type: jsPsychExtensionRecordVideo} {type: jsPsychExtensionRecordVideo}
] ],
on_finish: function() {
jsPsych.data.displayData();
}
}); });
const initCamera = { const initCamera = {

View File

@ -284,6 +284,12 @@ export class MediaAPI {
private camera_recorder: MediaRecorder = null; private camera_recorder: MediaRecorder = null;
initializeCameraRecorder(stream: MediaStream, opts?: MediaRecorderOptions) { initializeCameraRecorder(stream: MediaStream, opts?: MediaRecorderOptions) {
if (!opts) {
opts = { mimeType: "video/webm" };
} else if (!opts.mimeType) {
opts.mimeType = "video/webm";
}
this.camera_stream = stream; this.camera_stream = stream;
const recorder = new MediaRecorder(stream, opts); const recorder = new MediaRecorder(stream, opts);
this.camera_recorder = recorder; this.camera_recorder = recorder;