Kürzlich habe ich eine Wellenform basierend auf Amplitude in p5.js, aber nur mit Funktion preload(), die eine einzige basierte Spur verwendet. Ich möchte dieses Skript in Android Studio einfügen, um eine beliebige Musikdatei von meinem Telefon auszuwählen und diese Wellenform für jeden Ton zu erstellen.Lade irgendeinen Song von meiner Wahl in p5.js
Hier ist mein Code:
var song;
var button;
var amp;
var volHistory = [];
function preload() {
song = loadSound('da.mp3');
}
function btnToggle() {
if (song.isPlaying()) {
song.pause();
} else {
song.play();
}
}
function setup() {
createCanvas(1080, 720);
song.play();
angleMode(DEGREES);
button = createButton('toggle');
button.mousePressed(btnToggle);
amp = new p5.Amplitude();
}
function draw() {
background(0);
var ampLevel = amp.getLevel();
volHistory.push(ampLevel);
stroke(255);
noFill();
translate(width/2, height/2);
beginShape();
for (i = 0; i < 360; i++) {
var r = map(volHistory[i], 0, 1, 150, 700);
var x = r * cos(i);
var y = r * sin(i);
vertex(x, y);
}
endShape();
if (volHistory.length > 360) {
volHistory.splice(0, 1);
}
}
Gibt es eine andere Funktionalität in Java aus meiner Wahl mit jedem Song zu ersetzen?
function preload() {
song = loadSound('da.mp3');
}
Danke. Ich werde mehr darüber recherchieren –