このように、ボタンをクリックするとSTOPするようにすると、
Notifyが呼び出されてまた再生されることまではいいのですが、
その後の音がそれまでのと違ってしまいます。
ちなみに、wavファイルではそうならなかったのにmidiファイルの時になります。
どうしてでしょうか。
procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.Notify:=True;
MediaPlayer1.Open;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
MediaPlayer1.Play;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.Stop;
end;
wavファイルは曲のどの位置から再生しても問題ありませんが
midiファイルは音色と音階が別データのため途中から再生されると
音色が異なってしまう場合があります。
Positionプロパティーに0を代入してから再生すれば必ず同じになると思います。
使用MediaPlayerのバージョンやMIDIデバイスによって動作が異なるかもしれません。
途中から再生することが必要なのか?
またStopさせてからまたPlayさせるというのはどういう目的があるのか等
追加情報が欲しいところです。
>midiファイルは音色と音階が別データのため途中から再生されると
>音色が異なってしまう場合があります。
なるほど。良く分かりました。
やってみて疑問に思っただけです。ありがとうございました。
ツイート | ![]() |