processing で、自分で考えたコンテンツを作成しようとしています。
後ろで、apex というゲームの映像を流しつつ、
マウスをクリックすると1/2の確率でランダムな音声が流れ、
45秒に一回、安置移動を促す音声を流し、
escボタンを押すと感謝の言葉を再生する
というコンテンツを作成しようと思っています。
以下がうまくいかない点です。
1、anti,finish の音源のところでNullPointerExceptionというエラーが出る
→anti = new FilePlayer(minim.loadFileStream( "安置.mp3" )); 以下4行を削除したら動きます。
2、グレーの画面になっていて映像が流れない
→映像を流すだけのプログラムでは実行できました。映像は62.5 MBです。
3、マウスをクリックすると1/2の確率でランダムに音声が出力されるプログラムにしているはずな
に、マウスを連打しても音声出力がなされない。
プログラミング初心者なので、根本的に全然違う可能性が大きいです。
丁寧に教えて頂けると幸いです。
発生している問題・エラーメッセージ
エラーメッセージ NullPointerException
全てのソースコード
processing
ソースコード
//ライブラリのインポート
import processing.video.;
import ddf.minim.;
import ddf.minim.ugens.*;
//クラスの宣言
Minim minim; //Minimを使う場合は必ず宣言
AudioOutput out; //スピーカーから音を出す場合は必ず宣言
FilePlayer anti;
FilePlayer finish;
AudioPlayer[] sounds;
Movie movie; //新しい動画像を定義します
int count = 0;
int n = 1;
int s = 0;
int index;
void setup(){
size(1280, 720);//自分の動画像のサイズをチェックしてみてここを変更してください
movie = new Movie(this, "apex.mp4"); //動画像を読み取ります。ここの名称を変更してください
movie.play();//動画像再生
minim = new Minim(this);
out = minim.getLineOut();
anti = new FilePlayer(minim.loadFileStream( "安置.mp3" )); //wavファイルの読み込み
anti.patch(out);
finish = new FilePlayer(minim.loadFileStream( "感謝.mp3" )); //wavファイルの読み込み
finish.patch(out);
sounds = new AudioPlayer[] {
minim.loadFile("アーマー割.mp3"),
minim.loadFile("アーマー報告.mp3"),
minim.loadFile("ノック.mp3"),
minim.loadFile("ロー.mp3"),
minim.loadFile("倒した.mp3"),
};
frameRate(60);//1/60秒
}
void draw() {
//Loop回数加算
//countは1/60秒ごとに1増える
count++;
if (mousePressed) {
s=int(random(1, 2));
if (s%2==0) { sounds[index].pause(); index = int(random(sounds.length)); sounds[index].rewind(); sounds[index].play(); } if (count == 60*45*n){//45×n秒の時 anti.play(); n+=1; }
}
}
void keyPressed() {
if (key==ESC) {
finish.play();
}
}
補足情報(FW/ツールのバージョンなど)
processingは最新版です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/18 02:58