1
我想在我的Angular项目中使用p5.js时遇到问题。Angular和p5.js - p5.loadSound不是函数
我使用Angular CLI。 包括p5.js我.angular-cli.json文件:
"scripts": [
"../node_modules/p5/lib/p5.min.js",
"../node_modules/p5/lib/addons/p5.sound.js",
"../node_modules/p5/lib/addons/p5.dom.js"
],
然后在我的部分我写:
import { Component, OnInit } from '@angular/core';
import * as p5 from 'p5';
@Component({
selector: 'app-player',
templateUrl: './player.component.html',
styleUrls: ['./player.component.scss']
})
export class PlayerComponent implements OnInit {
play: boolean = false;
constructor() { }
ngOnInit() {
const s = (p) => {
let song;
let canvas;
p.preload =() => {
console.log('preload');
song = p.loadSound('assets/music/Thunderstruck.mp3');
}
p.setup =() => {
canvas = p.createCanvas(595, 100);
canvas.parent('equalizer');
p.background(0);
}
}
let player = new p5(s);
}
onPlay() {
this.play = !this.play;
}
}
,然后当我想加载我的歌,并使用LoadSound只有(),JS告诉我错误类型错误:p.loadSound不是一个函数
好了,JS不能在我的文件中找到这个方法,但是在浏览器控制台,我可以写这样的事:
let song = p5.prototype.loadSound('assets/music/Thunderstruck.mp3');
song.play();
,一切工作(screenshot of my console)!
我想在我的组件来写:
song = p.prototype.loadSound('assets/music/Thunderstruck.mp3');
它不工作。
我在做什么错?
或许,它只是一个打字稿错误,请指定'p'类型为'any'像 'ngOnInit(){ 常量S =(P :any)=> {' –
不,它不起作用。 我可以以另一种方式使用p5.js吗? – Slavik
我有完全相同的错误。任何更新? @Slavik –