【问题标题】:R Shiny - Audio PlaybackR Shiny - 音频播放
【发布时间】:2016-07-12 08:27:25
【问题描述】:

对于这个问题,我正在使用

library("shiny")
library("tuneR")
library("markdown")

虽然我确信只有闪亮是相关的。

根据闪亮的tag glossary,我应该可以使用

tags$audio(src = "wavs/tempwav.wav", type = "audio/wav", autoplay = NA, controls = NA)

生成html

<audio src="wavs/tempwav.wav" type="audio/wav" autoplay controls></audio> 

在 Shiny 服务器中播放声音。

我无法让它与任何类型的 mp3、wav 或其他文件一起使用。 Edge 出现“不支持这种类型的音频文件”错误,而 RStudio 网页和 Chrome 仅显示空白播放控件。我希望它与 Shiny 程序动态生成的 *.wav 文件一起使用。 wav 文件在我尝试过的每个音乐播放器(例如,VLC、WMP、MMgold、WinAmp 等)中都能正确生成和播放。

使用 HTML 文件中的代码,例如

<HTML>
<audio src="wavs/tempwav.wav" type="audio/wav" autoplay controls></audio>
</HTML>

在任何浏览器中都可以正常工作。我认为这个问题可能与 R Shiny 如何处理目录有关。有什么建议吗?

【问题讨论】:

  • 使用像 paste0(getwd(),"/wavs/tempwav.wav") 这样的显式路径会在 Edge 中导致错误“此音频突然停止播放”,但在其他地方仍然没有。认为这可能是 Shiny 的反应性质的结果,我尝试链接静态 wav 文件也没有成功。
  • 多年后,但可能对其他人有帮助:shiny::tags$source(src = paste0("file", F, ".mp3")) 为我工作。

标签: html r shiny html5-audio


【解决方案1】:

解决方案here。从技术上讲,这是写在 Shiny 标签词汇表中的——尽管很容易错过。 www 子目录必须在当前工作目录中才能正常运行。

要明确一点,如果您的密码是“c:\dir”,那么目录“c:\dir\www”必须包含要播放的音频文件,并且标签将按照词汇表中所示编写:

tags$audio(src = "sound.mp3", type = "audio/mp3", autoplay = NA, controls = NA)

它也适用于 wav 文件

tags$audio(src = "sound.wav", type = "audio/wav", autoplay = NA, controls = NA)

【讨论】:

  • 请注意,播放器目前无法在 RStudio 网页中正常工作 - 必须在网络浏览器中查看。
  • 另外,概述了响应式输入的自动刷新方法here
猜你喜欢
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 2022-08-23
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
相关资源
最近更新 更多