1

我正在使用亚马逊机械土耳其人,一个完成简单任务的平台。我正在使用它来转录音频文件。这是我的设置:我正在使用基本的 Web 表单来创建 HIT,并使用 JWplayer 嵌入了音频播放器

Mechanical turk 有两种任务视图(称为 HIT),一个是预览视图,另一个是您接受任务时的常规视图。我想要做的是,当有人尚未接受任务时仅显示 15 秒的音频文件预览(并在接受时显示完整的音频)

我以为我包含两个对象,预览 15 秒音频和完整音频,并根据 URL 隐藏或显示它们,当您预览/或接受任务时(以及保密规则),该 URL 会发生变化。

如果预览任务,URL 看起来像:https://www.mturk.com/mturk/preview?groupId=3IQQTV3
当任务被接受时,它还包含一个 assignmentId=3493something (也看这里,他们建议使用“ assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE" 来确定预览 URL http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_ExternalQuestionArticle.html )

有人可以帮我吗?我认为它可能是 javascript,但我不知道该怎么做。

4

1 回答 1

1

这是一个不完整的答案,因为它只显示了如何区分预览模式和接受模式。我正在标记这个“社区 wiki”,以便其他开发人员知道如何插入音频预览代码。

<script type="text/javascript">
/* DEFINE FUNCTION TO EXTRACT PARAMETERS FROM URL */
function turkGetParam( name ) { 
  var regexS = "[\?&]"+name+"=([^&#]*)"; 
  var regex = new RegExp( regexS ); 
  var tmpURL = fullurl; 
  var results = regex.exec( tmpURL ); 
  if( results == null ) { 
    return ""; 
  } else { 
    return results[1];    
  } 
}

/* THIS IS THE LINE TO CAPTURE THE ACTUAL URL: */
var fullurl = window.location.href;

/* ASSIGNS THE URL PARAMETERS TO JAVASCRIPT VARIABLES */
var assign = turkGetParam('assignmentId');
var hit = turkGetParam('hitId');
var worker = turkGetParam('workerId');

/* WHAT TO DO IF THE WORKER IS PREVIEWING THE HIT: */
if(assign=="ASSIGNMENT_ID_NOT_AVAILABLE") {
    // CODE FOR PREVIEW
}
else {
    // CODE FOR ACCEPTED HIT
}
</script>
于 2015-09-04T21:08:34.483 回答