2016-12-28 6 views
0

최근에는 p5.js의 진폭을 기반으로 파형을 만들었지 만 하나의 기반 트랙을 사용하는 함수 preload() 만 사용했습니다. 이 스크립트를 Android Studio에 넣어 휴대 전화에서 음악 파일을 선택하고 각 사운드에 따라 파형을 만들겠습니다.p5.js에서 임의로 선택한 노래를로드하십시오.

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); 
} 

} 

내 선택에서 어떤 노래와이를 대체하는 자바의 다른 기능이 있나요 : 여기

내 코드?

function preload() { 
song = loadSound('da.mp3'); 
} 

답변

0

JavaScript 코드에서 로컬 파일로 작업하고 싶습니다. 문제는 JavaScript가 사용자가 특별히 파일을 선택하지 않고도 로컬 파일에 액세스 할 수 없다는 것입니다. 방문한 모든 웹 사이트에서 하드 드라이브를 읽을 수 있다면 얼마나 무서운 지 생각해보십시오!

그러나 사용자가 파일을 선택한 다음 JavaScript 코드에서 해당 파일로 작업 할 수 있습니다. 자세한 내용은 this question에 대한 답변을 참조하거나 많은 결과를 얻으려면 "JavaScript 액세스 로컬 파일"을 Google 검색으로 시도하십시오.

+0

감사합니다. 나는 이것에 대해 더 많은 연구를 할 것이다. –