Извлечение времени воспроизведения видео, встроенного в приложение R Shiny - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь встроить видео в приложение Shiny и у меня есть кнопка действия, которая при нажатии записывает время воспроизведения видео. Для целей этого вопроса я действительно просто хочу вставить / сделать текст воспроизведения на экране. Я использую приведенный ниже код, чтобы получить видео, и я видел способы сделать это sh полностью за HTML, но не могу заставить его работать в Shiny.

library(shiny)
library(tidyverse)
library(shinyjs)

ui <- fluidPage(
  useShinyjs(), 

  tags$video(src = "my_video.mp4", type = "viedo/mp4", width = "500px", height = "300px", controls = "controls"), 
  actionButton(inputId = "get_time", label = "Get Time"), 
  textOutput("currentTime")
)

server <- function(input, output, session) {

}

shinyApp(ui, server)

1 Ответ

0 голосов
/ 18 февраля 2020

Вот способ.

library(shiny)

js <- 
  "Shiny.setInputValue('time', document.getElementById('myVideo').currentTime);"

ui <- fluidPage(

  tags$video(id = "myVideo", src = "my_video.mp4", type = "video/mp4", 
             width = "500px", height = "300px", controls = "controls"), 
  actionButton(inputId = "get_time", label = "Get Time", onclick = js), 
  textOutput("currentTime")
)

server <- function(input, output, session) {

  output[["currentTime"]] <- renderText({
    input[["time"]]
  })

}

shinyApp(ui, server)
...