プログラミングのお話 の 68 番の書き込みへコメントを付けます.
ボード:
T-Net - 管理人室
フリートーク - フリートーク MainStream
音楽 - 音楽 MainStream
コンピュータ音楽 - コンピュータ音楽 MainStream
コンピュータ音楽 - MIDI
コンピュータ音楽 - DTM おすすめリンク集
コンピュータ音楽 - 音楽理論・作曲技術
コンピュータ音楽 - 習作 発表会
コンピュータ音楽 - オリジナル音楽 発表会
コンピュータ音楽 - 既存曲の研究
フラクタル・Math Art - フラクタル・Math Art MainStream
フラクタル・Math Art - TFEngine & T-Fract 開発室
コンピュータ - コンピュータ MainStream
コンピュータ - プログラミングのお話
コンピュータ - UNIX
コンピュータ - インターネット
ゲーム - ゲーム MainStream
ゲーム - PlayStation
ゲーム - PlayStation2
ハンドル(名前):
(guest)
Subject:
書き込み:(1行は折り返さないように30文字程度で改行してください。)
>> 眺めてみると Sequencer seq = (Sequencer)MidiDevice; >> といったことをばっちりやっているではありませんか(^^; >> というわけで、おそらく止まるのは別の理由だったのでしょう。 > と思っていましたがやっぱりだめだったようです。 > try & catch(JAVA 使うまで使ったことがなかった(ぉ > してみたんですが、ClassCastExceprion が発生しています。 > これはもう間違いないでしょう。 >
http://www.geocities.co.jp/SiliconValley-SanJose/4825/java/
> ここで、デバイスが何か選択されていて、有効な MIDI ファイルの URL を > 渡している状態で「再生・一時停止」を押すと > Sequencer seq = (Sequencer)MidiDevice; の形の文を実行するように > なっています。 > 最近になって多態性の使い方として、受け側にスーパークラスを使って > 区別せずに済んでらくちん、ってのを何とか理解したところでして、 > その逆なんてできるのか?いや、概念的にも何かおかしい、 > とか思ってはいたんです。 > さてこれでまた MidiDevice + Sequence = Sequencer でいけるはずの道が > 閉ざされてしまいました。たぶん馬鹿なことで騒いでるんだと思うんです。 > Sequencer seq = MidiSystem.getSequencer(); でデフォルトデバイスの > Sequencer が手にはいるって言うのにデフォルト以外の Sequencer を得るための > システムメソッドが用意されていないわけですし、
説明の方
でも > MidiDevice から Sequencer への持っていき方はかかれていません。 > 順に見ていくと堂々巡りになります。 > MidiDevice も Sequencer もインターフェイスなのが肝なのかなぁ。 > 両方を implement したクラスを作れば何とかなるんだろうか。 > そもそもインターフェイス自体、コードを持たず implement した > クラスの取り扱い方を増やすだけのもののように見ていたんで、 > なんでそんなものがこうもたくさんの機能を持つのか不思議です。 > インターフェイスにはまだ何か私の知らない秘密があるということでしょうか。
■ メインページ