Creates an n-alternative forced-foced choice page with a video prompt.

video_NAFC_page(label, prompt, choices, url, labels = NULL,
  type = tools::file_ext(url), save_answer = TRUE,
  on_complete = NULL, video_width = "100%",
  arrange_choices_vertically = length(choices) > 2L, wait = TRUE,
  loop = FALSE, admin_ui = NULL,
  btn_play_prompt = "Click here to play")



Label for the current page (character scalar).


Prompt to be displayed above the response choices. Can be either a character scalar (e.g. "What is 2 + 2?") or an object of class "shiny.tag", e.g. shiny::tags$p("What is 2 + 2?").


Character vector of choices for the participant. If unnamed, then these values will be used both for button IDs and for button labels. If named, then values will be used for button IDs and names will be used for button labels.


URL to the video. Can be an absolute URL (e.g. "") or a URL relative to the /www directory (e.g. "video.mp4").


Optional vector of labels for the NAFC choices. If not NULL, will overwrite the names of choices. This vector of labels can either be a character vector or a list of Shiny tag objects, e.g. as created by shiny::HTML().


Video type (e.g. 'mp4'). Defaults to the provided file extension.


Whether or not to save the answer.


Optional function to execute on leaving the page (after successful validation). The argument list should include ..., and any of: state, the participant's state object; answer, the participant's most recent answer; input, the current page's Shiny input object; session, the current Shiny session object; opt, the test's option list as created by test_options().


Video width, as passed to HTML (e.g. '50px').


Whether to arrange the response buttons vertically (the default) as opposed to horizontally.


Whether to wait for the video to finish before displaying the response buttons.


Whether the video should loop.


Optional UI component for the admin panel.


Text to display as a prompt for starting the audio. Ordinarily the participant will not see this, but it might appear if the internet connection is poor, or if the participant refreshes the page.