【发布时间】:2022-01-01 21:49:55
【问题描述】:
我有一个托管音频文件的列表,我想获得其持续时间,而无需自己下载文件。
我可以通过创建html DOM element <audio> 并使用duration attribute 提取持续时间来做到这一点。这在以下 Shinyapp 中效果很好:单击“单击我”按钮时,持续时间会在警报中返回。
shinyApp(
ui = fluidPage(
useShinyjs(),
actionButton("btn", "Click me"),
tags$audio(id = "myaudio",
src = "https://download.samplelib.com/mp3/sample-3s.mp3",
type = "audio/mp3", autoplay = NA, controls = NA)
),
server = function(input, output) {
observeEvent(input$btn, {
runjs("alert(myaudio.duration);")
})
}
)
这是我卡住的地方:如何利用这种方法提取多个 (> 1'000) mp3 的持续时间?
- 如何替换
src=并迭代 mp3 列表? - 如何写出持续时间,以便在
R中进一步处理?
【问题讨论】:
标签: javascript r shiny shinyjs