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 –