【问题标题】:Node.js play-sound: TypeError: Cannot read property 'play' of undefinedNode.js 播放声音:TypeError:无法读取未定义的属性“播放”
【发布时间】:2018-05-25 11:07:01
【问题描述】:

尝试使用 Node.js 包 play-sound 播放通知声音。 但是,当尝试这样做时,我收到此错误: “Node.js 播放声音:TypeError:无法读取未定义的属性“播放””

  const player = require('play-sound')(opts = {});


  start() {
    this.player.play('/sounds/throughQueue.mp3', function(err){
                            if (err) throw err
                            })
  }

如果我删除所有其他内容,这就是我的程序的样子。 是的,我已经安装了播放声音包。

我没有 JS 和 Node 的经验,如果有任何信息丢失或者如果有其他包你建议播放简单的通知声音,请告诉我!

期待您的回答!

【问题讨论】:

  • this.player 不存在。
  • 要添加到 SLaks 评论,从您的 sn-p 看起来您应该直接访问 player 变量,而不是通过 this。例如:player.play() 而不是 this.player.play()
  • 显示更多代码....
  • 多亏了你们两个,修复了它,得到了另一个错误,但设法修复了它。现在它正在工作。我真的很感谢您的快速回复!之前没用过JavaScript,尝试过修改一个开源程序。我可以以某种方式将此问题/线程标记为已回答吗?
  • @ZenoFox 只有在“答案”部分有答案时,您才能将问题标记为已回答。我在下面写了an answer,因此您可以接受它以将问题标记为已解决(请参阅What should I do when someone answers my question?)。如果您曾经从 cmets 学习解决方案,但没有人写出实际答案,您可以write an answer to your own question 并接受该答案。这将有助于未来的人解决您的问题。

标签: javascript node.js audio undefined typeerror


【解决方案1】:

作为CRice said,用player而不是this.player引用定义的player变量:

const player = require('play-sound')(opts = {});

start() {
    player.play('/sounds/throughQueue.mp3', function(err){
        if (err) throw err
    })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 2020-05-15
    相关资源
    最近更新 更多