MTURK: скрыть объект в предварительном просмотре, показать, когда вы принимаете HIT (URL изменяется в предварительном просмотре, скрывать в зависимости от URL)

Я использую механический турок Amazon, платформу для выполнения простых задач. Я использую его для расшифровки аудио файлов. Вот мои настройки: я использую базовую веб-форму для создания HIT, вставив аудио-плеер с помощью JWplayer

Механический турок имеет два представления о задачах (называемых HIT), предварительный просмотр и обычный просмотр, когда вы принимаете задачу. То, что я хочу сделать, это показать только 15-секундный предварительный просмотр аудиофайла, когда кто-то еще не принял задачу (и показать полный звук, когда он будет принят)

Мне показалось, что я включаю два объекта: предварительный 15-секундный звук и полный звук, и скрываю или показываю их в зависимости от 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)

Может ли кто-нибудь помочь мне с этим? Я думаю, что это возможно, но я понятия не имею, как это сделать.

1 ответ

Это неполный ответ, потому что он показывает только, как различить режим предварительного просмотра и принятый режим. Я отмечаю эту "вики сообщества", чтобы другой разработчик мог включить код предварительного просмотра аудио, если он знает, как это сделать.

<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>
Другие вопросы по тегам