processingで動画をランダムに再生する装置を作ってみることにした
元にしたソース
これにこれをくっつければ大体完成かな
フォルダーのファイル名を取得するために参考にしたソース
元のソースはmacと相性がいいようなのでmacにマシンを変更
動画ファイルもmovでないといけないので
MacX Video Comverterでwmvから変換
元のソースのここの所を何度も解放して設定すればよさそう
Movie myMovie;
void setup() {
size(200, 200);
myMovie = new Movie(this, "totoro.mov");
myMovie.loop();
}
こんな感じで解放かなと思ったら、実行していて少し立つとout of memory
myMovie.stop();
myMovie=null;
実際はdisposeも必要
myMovie.stop();
myMovie.dispose();
myMovie=null;
改善はしたのだけどまだ何かがメモリをガンガン食っている
何度かの思考錯誤の結果
これが原因と判明!
void draw() {
tint(255, 20);
image(myMovie, mouseX, mouseY);
}
さてこれはどうしたものかと、どうやってググったかも忘れたがここにたどり着く
本当にありがたいサイト
赤字の部分の追加でメモリ問題はようやく解消
void draw() {
tint(255, 20);
image(myMovie, mouseX, mouseY);
g.removeCache(myMovie);
}
元にしたソース
これにこれをくっつければ大体完成かな
フォルダーのファイル名を取得するために参考にしたソース
元のソースはmacと相性がいいようなのでmacにマシンを変更
動画ファイルもmovでないといけないので
MacX Video Comverterでwmvから変換
元のソースのここの所を何度も解放して設定すればよさそう
Movie myMovie;
void setup() {
size(200, 200);
myMovie = new Movie(this, "totoro.mov");
myMovie.loop();
}
こんな感じで解放かなと思ったら、実行していて少し立つとout of memory
myMovie.stop();
myMovie=null;
実際はdisposeも必要
myMovie.stop();
myMovie.dispose();
myMovie=null;
改善はしたのだけどまだ何かがメモリをガンガン食っている
何度かの思考錯誤の結果
これが原因と判明!
void draw() {
tint(255, 20);
image(myMovie, mouseX, mouseY);
}
さてこれはどうしたものかと、どうやってググったかも忘れたがここにたどり着く
本当にありがたいサイト
赤字の部分の追加でメモリ問題はようやく解消
void draw() {
tint(255, 20);
image(myMovie, mouseX, mouseY);
g.removeCache(myMovie);
}