1

さて、Processing で単純な fft ビジュアライゼーションをいじっていて、毎回複数の曲を再生するのは楽しいだろうと考えました。最後に、手動で 3 曲を追加し、マウス クリックで事前定義された文字列を使用してランダムに曲を変更しました。コンピューターの残りの音楽を追加したかったのですが、スケッチに新しい曲を追加するたびに、その名前をコピーしてスケッチの文字列に貼り付ける必要がありました。無駄な作業が多いようです

処理でフォルダーをスキャンし、中にあるファイルの数を認識し、すべてのファイル名を文字列にコピーする方法はありますか? ファイルをスケッチに直接ドラッグ アンド ドロップできる 1.1 を処理するための sDrop というライブラリを見つけました。ただし、Processing のバージョン 2+ にはもう存在しないようです。

これは、音楽を再生するための現在の作業コードの単純なバージョンです。

import ddf.minim.spi.*;
import ddf.minim.signals.*;
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.ugens.*;
import ddf.minim.effects.*;

AudioPlayer player;
Minim minim;

String [] songs = {
  "song1.mp3",
  "song2.mp3",
  "song3.mp3",
};

int index;


void setup() {
  size(100, 100, P3D);
  index = int(random(songs.length));  

  minim = new Minim(this);
  player = minim.loadFile(songs[index]);
  player.play();
}

void draw() {
}


void mouseClicked() {
  index = int(random(songs.length)); 

  player.pause();
  player = minim.loadFile(songs[index]);
  player.play();
}

誰かが提案を持っているか、素晴らしいチュートリアルに向けて私を導くことができれば. ありがとう!

4

2 に答える 2

0

ケビンのワークマンの答えに追加するだけです:

  1. File.separator「/」または「\」の代わりに使用してみてください。同じことを行いますが、使用している OS に基づいて正しいものを判断するため、スケッチを他のコンピューターに移動しても、作業を続けることができます。
  2. 例の処理に付属している Daniel Shiffman をチェックしてください> トピック > ファイル IO > DirectoryList
于 2014-11-27T12:39:31.543 に答える