Hello- Right now, I have javascript that gives me a timestamp for when a video (from my library) is started. I also have a timestamp for when my respondant reacts to the video, the person clicks a button below the video and that timestamp is recorded.
I need to know if they pause the video and restart it. I also need those events timestamped.
Any help with the javascript would be much appreciated. I am very new to javascript, and the community has been of great help!
Page 1 / 1
It would be great to record the timestamp of each pause and restart.
Here's what we used:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page is unloaded*/
});
Qualtrics.SurveyEngine.addOnReady(function()
{
pauseTimestamp = null;
playTimestamp = null;
pauses = [];
plays = [];
playCount = 0;
pauseCount = 0;
jQuery("video").on('play', function() {
playCount++;
playTimestamp = Date.now();
if (pauseTimestamp) {
pauses.push(playTimestamp - pauseTimestamp);
}
Qualtrics.SurveyEngine.setEmbeddedData('playCount', playCount);
Qualtrics.SurveyEngine.setEmbeddedData('pauses', pauses.join(";"));
});
jQuery("video").on('pause', function() {
pauseCount++;
pauseTimestamp = Date.now();
plays.push(pauseTimestamp - playTimestamp);
Qualtrics.SurveyEngine.setEmbeddedData('pauseCount', pauseCount);
Qualtrics.SurveyEngine.setEmbeddedData('plays', plays.join(";"));
});
var s='';
jQuery("video").on('play', function() {
if(s==''){
s= Date.now();
Qualtrics.SurveyEngine.setEmbeddedData( 'Vid1Start', s);
}
});
var z='';
jQuery("video").on('pause', function() {
if(z==''){
z= Date.now();
Qualtrics.SurveyEngine.setEmbeddedData( 'Vid1Pause', z);
}
});
});
Qualtrics.SurveyEngine.addOnUnload(function()
{
if (playCount > pauseCount) {
plays.push(Date.now() - playTimestamp);
Qualtrics.SurveyEngine.setEmbeddedData('plays', plays.join(";"));
} else if (pauseCount) {
pauses.push(Date.now() - pauseTimestamp);
Qualtrics.SurveyEngine.setEmbeddedData('pauses', pauses.join(";"));
}
});
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page is unloaded*/
});
Qualtrics.SurveyEngine.addOnReady(function()
{
pauseTimestamp = null;
playTimestamp = null;
pauses = [];
plays = [];
playCount = 0;
pauseCount = 0;
jQuery("video").on('play', function() {
playCount++;
playTimestamp = Date.now();
if (pauseTimestamp) {
pauses.push(playTimestamp - pauseTimestamp);
}
Qualtrics.SurveyEngine.setEmbeddedData('playCount', playCount);
Qualtrics.SurveyEngine.setEmbeddedData('pauses', pauses.join(";"));
});
jQuery("video").on('pause', function() {
pauseCount++;
pauseTimestamp = Date.now();
plays.push(pauseTimestamp - playTimestamp);
Qualtrics.SurveyEngine.setEmbeddedData('pauseCount', pauseCount);
Qualtrics.SurveyEngine.setEmbeddedData('plays', plays.join(";"));
});
var s='';
jQuery("video").on('play', function() {
if(s==''){
s= Date.now();
Qualtrics.SurveyEngine.setEmbeddedData( 'Vid1Start', s);
}
});
var z='';
jQuery("video").on('pause', function() {
if(z==''){
z= Date.now();
Qualtrics.SurveyEngine.setEmbeddedData( 'Vid1Pause', z);
}
});
});
Qualtrics.SurveyEngine.addOnUnload(function()
{
if (playCount > pauseCount) {
plays.push(Date.now() - playTimestamp);
Qualtrics.SurveyEngine.setEmbeddedData('plays', plays.join(";"));
} else if (pauseCount) {
pauses.push(Date.now() - pauseTimestamp);
Qualtrics.SurveyEngine.setEmbeddedData('pauses', pauses.join(";"));
}
});
Leave a Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.