我正在构建一个应用程序,其中包括嵌入的视频和音频文件。我有一个动作按钮,让用户向前导航,但我需要他们灰色,直到嵌入的视频/音频完成。
对于需要用户输入的东西,我发现使用enable/disable/toggle和shinyjs就可以很容易地做到这一点,但我找不到一种方法来处理嵌入式文件。我想我可以用observeEvent做一些事情,但我不知道观察到的事件是什么-视频整理是否在某个地方有一个唯一的隐藏id?
library(shiny)
ui <- fluidPage(
HTML('<iframe width="560" height="315" src="https://www.youtube.com/embed/Hrc1WrC8ihE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'), #random youtube video without copyright
br(),
br(),
actionButton("test", "test") #need this disabled out until the video is complete
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
这可能也是可以用javascript排序的东西,但我没有这方面的经验。
任何帮助将不胜感激!
- 编辑 *
这个例子中的视频嵌入与我的代码中的不同,只是为了保持它的可复制性,我保存了我嵌入的mp4文件,而不是youtube链接。
1条答案
按热度按时间velaa5lx1#
一个
iframe
有一个load
事件。这可以工作,但视频加载很快,所以不容易看到: