【问题标题】:How to use p5.sound in Typescript + Node.js如何在 Typescript + Node.js 中使用 p5.sound
【发布时间】:2019-05-18 12:55:47
【问题描述】:

我是 JavaScript 初学者。 我不是英语母语,很抱歉我的英语不好。

现在我想用 Node.js + Typescript 做声音可视化,但我不知道如何在 setup() 中加载声音。请教我如何在 Node.js + Typescript 中加载声音。

我尝试导入'p5/lib/addons/p5.sound'。但是我不知道如何在下面代码的sketch 中使用这个模块。

main.ts

import * as p5 from 'p5';

const sketch = (p: p5) => {
  p.setup = () => {
    p.resizeCanvas(100, 100);
    // want to load sound here
  };
  p.draw = () => {
    p.background(100);
  }
};

const sketchP = new p5(sketch);

global.d.ts

import module = require('p5');

export = module;
export as namespace p5;
declare global {
    interface Window {
        p5: typeof module
    }
}

【问题讨论】:

  • 要使用 p5.js 加载声音,请使用 loadSound。看看p5js.org/examples/sound-load-and-play-sound.html
  • 感谢您的评论!我了解我使用 loadSound() 加载声音。但是,方法loadSound() 是模块'p5/lib/addons/p5.sound' 而上面代码中的p 是模块'p5'。所以我无法加载声音,只是简单地在setup 中写入loadSound()

标签: javascript node.js typescript p5.js


【解决方案1】:

现在我解决了这个问题。谢谢。

main.ts

require('p5/lib/addons/p5.sound')

const sketch = function(p: p5) {
  let sound: p5.SoundFile;

  p.preload = () => {
    const loadSound = (path: string) =>
            ((p as any) as p5.SoundFile).loadSound(path);
    sound = loadSound("../audio/demo.mp3")
  };

  p.setup = () => {
    p.resizeCanvas(100, 100);
    sound.play()
  };
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2017-06-20
    • 2016-07-18
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    相关资源
    最近更新 更多