【问题标题】:MTURK: Hide an object in preview, show when you accept a HIT (URL changes in preview, hide depending on URL)MTURK:在预览中隐藏对象,在您接受 HIT 时显示(预览中的 URL 更改,根据 URL 隐藏)
【发布时间】:2015-09-05 05:08:34
【问题描述】:

我正在使用亚马逊机械土耳其人,一个完成简单任务的平台。我正在使用它来转录音频文件。 这是我的设置: 我正在使用基本的 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”来确定预览网址http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_ExternalQuestionArticle.html)

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

【问题讨论】:

    标签: javascript audio amazon-web-services mechanicalturk transcription


    【解决方案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>
    

    【讨论】:

    • 非常感谢托马斯!我将用播放器的代码sn-ps来实现这个,并告诉你它是否有效!
    • 所以 15 秒 sn-p 将是那个:
    • @Josef 你能详细说明“它没有用”是什么意思吗?
    • 对不起,当然。我想把 sn-p "" 放在那里你写/ /code for preview 和 Code for accepted HIT 可以解决问题,但它没有。 (通常如果只是在 html 中插入 sn-p 它将显示播放器)。播放器没有加载,什么也没有显示。我希望可能有一个快速的复制和粘贴解决方案来解决这个问题,但看起来并不那么容易。
    • @Josef 那 sn-p 是 HTML,所以你不能把它粘贴到一段 javascript 代码中。您可能想查看here 有关如何在另一个 javascript 代码块中包含 javascript 的信息。
    猜你喜欢
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多