如何在反应事件后使闪亮的应用程序发出蜂鸣声/播放声音?

Wal*_*ldi 5 audio r shiny

我想要一个闪亮的应用程序在反应事件后播放声音。

我已经在 R 脚本末尾知道了这个问题的解决方案

在闪亮我尝试过:

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(),但没有听到客户端的音频标签。
在客户端/服务器模式下,我什么也听不到。
在这两种情况下,音频标签似乎都不起作用。
感谢您的帮助。

Wal*_*ldi 3

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)