我正在使用亚马逊机械土耳其人,这是一个完成简单任务的平台。我用它来获取转录的音频文件。 这是我的设置: 我正在使用基本的Web表单创建HIT,使用JWplayer
嵌入音频播放器Mechanical turk有两个关于任务的视图(称为HIT),一个预览和接受任务时的常规视图。我想要做的是,当有人还没有接受任务时显示音频文件的15秒预览(并在接受时显示完整的音频)
我认为我包含了两个对象,预览15秒音频和完整音频,并根据URL进行隐藏或显示,当您预览/或接受任务时(以及保密规则),该URL会发生变化。
如果预览任务,则网址如下:https://www.mturk.com/mturk/preview?groupId=3IQQTV3
当任务被接受时,它还包含assignmentId = 3493something
(另请看这里,他们建议使用“assignmentId = ASSIGNMENT_ID_NOT_AVAILABLE”来确定预览网址http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_ExternalQuestionArticle.html)
有人可以帮助我吗?我认为它可能是javascript,但我不知道该怎么做。
答案 0 :(得分:0)
这是一个不完整的答案,因为它只显示了如何区分预览模式和接受模式。我正在标记这个“社区维基”,以便其他开发人员可以插入音频预览代码,如果他们知道如何做到这一点。
<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>