我想要一个闪亮的应用程序在反应事件后播放声音。
在闪亮我尝试过:
library(shiny)
library(beepr)
ui <- fluidPage(
tags$head(tags$script(src = "message-handler.js")),
actionButton("dobeep", "Play sound")
)
server <- function(input, output, session) {
observeEvent(input$dobeep, {
#Beeps on local machine/server
beepr::beep()
#Doesn't beep on client
insertUI(selector = "#dobeep",
where = "afterEnd",
ui = tags$audio(src = "beep.wav", type = "audio/wav", autoplay = T, controls = NA, style="display:none;")
)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
我放在目录beep.wav里了app.R。
在本地计算机上,我听到beepr::beep(),但没有听到客户端的音频标签。
在客户端/服务器模式下,我什么也听不到。
在这两种情况下,音频标签似乎都不起作用。
感谢您的帮助。
该beep.wav文件应位于该/www文件夹中,与闪亮的应用程序位于同一目录中,以便音频标签正常工作,请参阅以下帖子。
这有效:
library(shiny)
ui <- fluidPage(
tags$head(tags$script(src = "message-handler.js")),
actionButton("dobeep", "Play sound")
)
server <- function(input, output, session) {
observeEvent(input$dobeep, {
insertUI(selector = "#dobeep",
where = "afterEnd",
# beep.wav should be in /www of the shiny app
ui = tags$audio(src = "beep.wav", type = "audio/wav", autoplay = T, controls = NA, style="display:none;")
)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)