javascript - 动态路径变量来播放音频.mp3 文件 如何? d3 javascript CoffeeScript

标签 javascript jquery csv audio d3.js

我正在尝试在“鼠标悬停”时播放声音文件。当我硬编码 .mp3 文件的路径时,它起作用,代码如下所示。

不过,我的值(包括多个 .mp3 文件的路径)存储在 .csv 文件中。 我需要找到一种方法将路径值“馈送到”变量。

这是我的初始元素。有多个节点,从 .csv 解析中获取值。将鼠标悬停在上面时,我可以播放 - “硬编码路径” - .mp3 文件:

labelEnter.append("span")
  .attr("class", "bubble-sound")
  .attr("height", 40 )
  .attr("width", 70 )
  .attr("src",(d) -> "sounds/"+fileValue(d))
  .on("mouseover",  (d, i) -> playSound d.file)

playSound = (d) ->
    # hardcoded here in next line
  snd.setAttribute "src", "sounds/Hungarian_FSI_1_0.00.06.059-0.00.07.229.mp3"
  snd.load()
  snd.play()
  return

snd = new Audio()

onPlay = (e) ->
  snd = new Audio()
  snd.addEventListener "play", onPlay

我试图将从 .csv 解析的路径值放入 snd.setAttribute 语句中,即用一个变量替换硬编码路径,该变量保存该节点的路径值。 以下代码在 console.log 中显示了“file”的正确值,但显示“setAttribute”路径未定义

playSound = (d) ->
  file = fileValue(d)
      # console log shows desired value of 'file'
  console.log("Show me " + file)
      # 'file' undefined
  snd.setAttribute "src", "sounds/"+file
  snd.load()
  snd.play()
   on "mouseoverreturn

我的问题,初学者,如何操作/设置文件变量,以便它正确附加到源路径:setAttribute 语句中的“sounds/file-value-as-string-here”?非常感谢。

最佳答案

尝试这样的事情:

playSound = (d) ->
  file = fileValue(d)
      # console log shows desired value of 'file'
  console.log("Show me " + file)
      # 'file' undefined
  snd.setAttribute("src", "sounds/"+file); //<-- this line changed
  snd.load()
  snd.play()

关于javascript - 动态路径变量来播放音频.mp3 文件 如何? d3 javascript CoffeeScript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27029059/

相关文章:

JavaScript 将数组作为单个参数传递给函数

javascript - 如何在 node/iojs 中使用 ES6 计算属性名称?

javascript - 带有字母的 jQuery UI 范围 slider

python - 使用用户输入的关键字搜索 CSV 文件中的项目

linux - 替换 20 GB csv 文件中的字符串

javascript - 如何替换字符串的特定字符开头和结尾?

javascript - 如何在 ASP.Net MVC 中开始使用 jQuery?

javascript - 纯前端 + REST 后端网站的正确术语是什么?

Python Pandas 如果数字相等则合并

javascript - RxJS:如何导入 Just