プログラミングのお話 の 75 番の書き込みへコメントを付けます.
ボード:
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文字程度で改行してください。)
> なんか違う方向に走っちゃったきがするので、返事を書き直しです(^^; >> MidiSystem.getSequencer() で得られるのは「デフォルトのシーケンサ」 >> だと思うのですが、違うでしょうか? > その通りです。デフォルト以外のデバイスは > MidiDevice.Info[] MidiSystem.getMidiDeviceInfo() > で調べ、 > MidiDevice MidiSystem.getMidiDevice(MidiDevice.Info info) > でデバイスを取得と言うことになります。 > 他のデバイスの Sequencer は手に入れることはできないのです。 > ファイルから手に入れた Sequence クラスのデータをセットして > 再生するメソッドを持つのは Sequencer だけであるにもかかわらずです。 >> そして、シーケンサ は デバイスの一種で、デバイス同士をトランスミッタと >> レシーバを接続することによって、MIDIデータを処理し演奏するんだと >> 思います。 > 〜 >> よって、シーケンサのトランスミッタと、(MIDI音源)デバイスのレシーバを >> 接続することによって、音が鳴るようになるのではないでしょうか? > Sequencer extend MidiDevice なので、デバイスの一種なのは確かです。 > そして、MidiDevice はレシーバとトランスミッタを持っていて、 > シーケンサがもつトランスミッタを他のデバイスのレシーバに接続させ、 > シーケンサを再生スタートさせれば tos さんが言うように他のデバイスが > 鳴るはずです。しかし、そもそもシーケンサが手に入らないのです。 > 特にデフォルトデバイスがうちの環境でよく死ぬので・・・ > って、ここまで書いて気づきましたが、最初に選択するデバイスは > デフォルトシーケンサの取得でチェックしています。これ自体が分かると > 言うことはシーケンサ自体は手に入れられているわけで、 > その中のデバイスは死んでいるということになるのでしょうか。 > つまり、シーケンサは再生するためのものであって、 > デフォルトデバイスがついているのはおまけのようなものなんでしょうか? > デフォルトではシーケンサが持つレシーバにシーケンサのトランスミッタが > つながっていると。そういうわけでしょうか。 > もしそうだったら tos さんの言うとおりで、私は大きな勘違いをしていた > ようです(^^; シーケンサがデバイスであるということに惑わされていたわけですね。 > まあ、とにかく試してみます。
■ メインページ