次の rmarkdown は、ブラウザー (Chrome を使用) 内で再生できる wav ファイルへのリンクを含む handontable を含む Shiny ドキュメントを作成します。表の最初のリンクは外部 wav ファイルhttp://www.nch.com.au/acm/11k16bitpcm.wavwww
を指し、2 番目のリンクは rmarkdown に関連するフォルダーにある同じファイルを指します。最初のリンクは機能しますが、2 番目のリンクは機能しません。私がオンラインで見つけたさまざまな記事によると、www
フォルダーはそのような外部コンテンツの正しい場所であり、実際、png
そこにファイルを配置するimg()
と、rmarkdown 内の関数を使用して Shiny に画像を正しく表示させることができます。
---
title: "Playing audio in handsontable"
date: "18 August 2016"
output: html_document
runtime: shiny
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(shiny)
library(rmarkdown)
library(rhandsontable)
library(dplyr)
links = c('<audio controls preload="none" type="audio/wav" src="http://www.nch.com.au/acm/11k16bitpcm.wav" </audio>',
'<audio controls preload="none" type="audio/wav" src="www/11k16bitpcm.wav" </audio>')
toDisplay = data.frame(Listen = links)
```
The first entry in this table refers to an external WAV file <http://www.nch.com.au/acm/11k16bitpcm.wav> and can be played in a browser. The second entry refers to the same file called `11k16bitpcm.wav` located in the folder `www` relative to the markdown but cannot be played. As a check, if the file can be seen from the markdown, the following will be TRUE: `r file.exists("www/11k16bitpcm.wav")`.
```{r tabsets, echo=FALSE}
renderRHandsontable({
rhandsontable(toDisplay, readOnly = TRUE, allowedTags = "<em><b><strong><a><big><audio>", rowHeaders = TRUE) %>%
hot_cols(columnSorting = T) %>%
hot_col(1, renderer = "html") %>%
hot_col(1, renderer = htmlwidgets::JS("safeHtmlRenderer"))
})
```
2 番目のリンクを機能させ、オーディオを正しく提供するためのヒントはありますか?