Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Chrome浏览器上的Shining App(R)视频中跳过一帧(使用JS代码)_Javascript_R_Google Chrome_Shiny - Fatal编程技术网

Javascript 在Chrome浏览器上的Shining App(R)视频中跳过一帧(使用JS代码)

Javascript 在Chrome浏览器上的Shining App(R)视频中跳过一帧(使用JS代码),javascript,r,google-chrome,shiny,Javascript,R,Google Chrome,Shiny,我编写了一个闪亮的应用程序,它可以显示视频,并有一个按钮可以跳到下一帧。它在Firefox和Edge中运行时可以工作,但在Chrome中失败。视频没有移动到下一帧,而是跳回到开始 在互联网研究之后,Chrome似乎出现了一个我认为无法解决的问题,但是我发现了一个网站,该功能在Chrome中运行,我不知道是什么区别导致我的代码失败 下面是闪亮的应用程序:(注意,我使用了一个名为“test_vid.MP4”的视频,它每秒有29帧,存储在应用程序的“www”文件夹中 library(shiny) li

我编写了一个闪亮的应用程序,它可以显示视频,并有一个按钮可以跳到下一帧。它在Firefox和Edge中运行时可以工作,但在Chrome中失败。视频没有移动到下一帧,而是跳回到开始

在互联网研究之后,Chrome似乎出现了一个我认为无法解决的问题,但是我发现了一个网站,该功能在Chrome中运行,我不知道是什么区别导致我的代码失败

下面是闪亮的应用程序:(注意,我使用了一个名为“test_vid.MP4”的视频,它每秒有29帧,存储在应用程序的“www”文件夹中

library(shiny)
library(shinyjs)

# Javascript code to go to a specific time
jsCode <- "shinyjs.vid0 = function(value){
  var vid=document.getElementById('v0');
  vid.pause();
  vid.currentTime=value;}"

# Server
server <- function(input, output, session) {
  observeEvent(input$nxt, {
    js$vid0(input$vid0_currentTime + 1 / 29) # My video is 29 frames per second
  })
}

# UI
ui <- fluidPage(
  useShinyjs(),
  extendShinyjs(text = jsCode),
  sidebarLayout(
    sidebarPanel(
      actionButton("nxt", "Next frame")
    ),
    mainPanel(
      # Update input$vid0_currentTime
      tags$script("
          document.getElementById('nxt').onclick = function() {
            var myVid = document.getElementById('v0');
            Shiny.onInputChange('vid0_currentTime', myVid.currentTime);
          };
        "),
      # Video output in HTML
      HTML(paste('<center><video id="v0" controls tabindex="0" height = "600px">',
                 '<source type="video/mp4" ',
                 paste0('src="test_vid.MP4">'),
                 '</source></center>'))
    )
  )
)

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinyjs)
#要转到特定时间的Javascript代码
jsCode