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>