[Processing 1.0 入門 #1] mp3ファイル再生

December 13, 2008

Processing 入門書

標準ライブラリのひとつ、minimライブラリを使えば、mp3ファイルの読み込みや波形出力が簡単にできる。

mp3ファイルを再生するだけなら、ソースは6行。

// minimライブラリをimport
import ddf.minim.*;

// 変数定義
Minim minim;
AudioPlayer player;

// インスタンス生成
minim = new Minim(this);
player = minim.loadFile("test.mp3");// ロード

// 再生
player.play();


setup メソッドとdraw メソッド
『Built with Processing』を流し読みしていたら書いてあったんだけど、初期化処理とメインのループ処理をそれぞれsetup メソッドとdraw メソッド内に記述して構造化するのがいいみたい。

今回のmp3再生だと次のようになる。[2008.12.13 ソース訂正]

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup(){
minim = new Minim(this);
player = minim.loadFile("atom.mp3");
}
void draw(){
player.play();
}

drawメソッドは、stopボタンが押されるか、エラーで中断する以外は無限ループしている状態なんだとか。
playメソッドは1回再生したら終了するだろうから、いいのかな。

[訂正後ソース]

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup(){
minim = new Minim(this);
player = minim.loadFile("atom.mp3");
player.play();
}


おまけ
loop再生したいとき

player.loop();


エラー『NullPointerException』と出るとき
存在しないmp3ファイル名を指定したり、ファイルによってはエラーになる。


日本語コメント
Macだと日本語コメントはOS 10.4以降じゃないと使えないって『Built with Processing』にあったけど、うちのMacはOS 10.4なのに日本語コメントできないや。


loadFileの第二引数
ドキュメントをみると、bufferSizeとある。
バッファについては『動画再生時の「バッファ」とは? - デジタル - 日経トレンディネット』を読んだ。

バッファメモリーのサイズが第二引数ということみたい。
第二引数を小さい値(たとえば100)とかに試しに指定すると、再生がスローになる。512とかにすると、普通に再生される。


再生ボリューム
player.setVolume(0.5);はエラーにならないけど、効果なし。
参考:Processing 1.0 - minim audioplayer volume change


よくわかんないエラー
次のようなエラーがでるけど、mp3は再生できる。

==== JavaSound Minim Error ====
==== Error parsing ID3v2: String index out of range: -131


今日買った本 3冊。

カテゴリー: 


タグ: 


Posted by scratchbrain at December 13, 2008 1:39 AM ブックマークに追加する

Trackback

Trackback URL for this entry:

Post a Comment


検索

このブログを検索

サイトコンセプト

レディオヘッド、Flash・ActionScript 3.0、Processing、アートに関すること。日記・雑感、読書感想など。
[SCRATCHBRAIN.NET ホーム]
[SCRATCHBRAIN プロフィール]
[お問い合わせ]
[Twitter]

リンク

  • 嫁と更新。レシピ、子育て
  • バルセロナ観光ガイド
  • ポケット・アナリシス
  • 洋楽ブックマーク
  • こんなライヴに行きました

広告

おすすめ

最近のエントリー

カテゴリー

タグクラウド

全てのエントリー一覧

RSSフィード

月別アーカイブ

powered by Movable Type

hosted by

あわせて読みたいブログパーツ