mciSendStringについて


gonta  2004-03-02 06:12:25  No: 7443

mciSendStrignを使ってMidiファイルを再生したいのですが、再生や、停止のやり方はわかったのですが、連続再生や音量の調節のやり方がわかりません。
どのようにすればよろしいのでしょうか?


たかみちえ  URL  2004-03-02 08:05:23  No: 7444

以下の記事に書いたリンクをご覧ください。
https://www.petitmonte.com/bbs/answers?question_id=556


take  2004-03-02 17:55:01  No: 7445

mciSendStrignを使わないで良いなら
http://homepage1.nifty.com/vram/
のようなコンポーネントを使用するのも1つの手かと思います。


x  2004-03-02 22:17:52  No: 7446

×mciSendStrign
○mciSendString


gotna  2004-03-03 02:47:04  No: 7447

お返事ありがとうございます。
教えていただいた、MIDI演奏クラスをインストールしてみたのですが、使い方がわかりません。
使い方を教えて下さい。


take  2004-03-03 17:55:36  No: 7448

コンポーネントではなくて単なるクラスでしたね。
付属のサンプルプロジェクトProject1.dprとしてクラスのプロパティやイベントを
使用したプレイヤーがあるようですのでこれを見ることをすすめます。

新規でプロジェクトを作って使用する場合は、そのプロジェクトで
使用しているフォルダにMidiPlayV.pasをコピーします。
他のファイルは不要のようです。

usesにMidiPlayVを追加

Form1のPrivate宣言で
  FMidi : TMidiPlayV;
と宣言します。

フォーム生成イベントFormCreate内で
procedure TForm1.FormCreate(Sender: TObject);
begin
  FMidi := TMidiPlayV.Create(Self);
end
とクラスの実体を生成します。

付属サンプルファイルを読み込んで演奏までさせるには
  FMidi.LoadFromFile('VRAM01.mid');  // MIDIデータ読み込み
  FMidi.PlayDevices.Add(-1,True);    // 使用MIDIポートはOSのデフォルト
  FMidi.Open();                      // MIDIポートオープン
  FMidi.PlayMs := 0;                 // 演奏開始位置は先頭
  FMidi.Play();                      // 演奏開始

停止させるには
  FMidi.Stop();
のようです。

もちろん破棄イベントで
procedure TForm1.FormDestroy(Sender: TObject);
begin
  FMidi.Close;                       // MIDIポートを閉じる
  FMidi.Free;                        // 演奏クラス破棄
end;
のように破棄する必要もあります。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加