У меня есть flexdashboard , и мне нужно встроить несколько видео.
С путем к файлу stati c это довольно просто:
tags$video(
src = "sample.mp4",
type = "video/mp4",
width = 1280, height = 720,
controls = "controls"
)
Но я не могу понять, как встроить видео с путем к файлу, который включает значение ввода / реактивности. Это не работает:
renderUI({
req(rv())
tags$video(
src = rv(),
type = "video/mp4",
width = 1280, height = 720,
controls = "controls"
)
})
Вот файл Rmd с обоими примерами:
---
title: "Test"
output:
flexdashboard::flex_dashboard:
runtime: shiny
---
```{r setup}
library(flexdashboard)
library(shiny)
```
Column
------
### Static
```{r}
tags$video(
src = "sample.mp4",
type = "video/mp4",
width = 1280, height = 720,
controls = "controls"
)
```
Column
------
```{r}
rv <- reactive({ "sample.mp4" })
```
### Reactive
```{r}
renderUI({
req(rv())
tags$video(
src = rv(),
type = "video/mp4",
width = 1280, height = 720,
controls = "controls"
)
})
```
После проверки блок "stati c" генерирует этот HTML:
<video src="file5450741f3ada_files/sample.mp4" type="video/mp4" width="1280" height="720" controls="controls"></video>
Где "Dynami c" порция это:
<video src="sample.mp4" type="video/mp4" width="1280" height="720" controls="controls"></video>
Похоже, tags$video
помещает файл во временную папку, что не происходит, когда src
аргумент является реактивным значением и / или внутри renderUI
.
Любые советы?