DOBON.NET DOBON.NETプログラミング掲示板過去ログ

MIDI演奏の一時停止

環境/言語:[VB.NET]
分類:[.NET]

MIDI演奏のプログラムを作っています。
ファイルを読み込み再生、停止まではできたのですが、一時停止ができません。
一時停止ボタンを押すと再生を止め、もう一度ボタンを押すと一時停止した場所から再生したいと思っています。

再生、停止は
mciSendString("Play " & MIDIFileName, vbNull, 0, 0)
mciSendString("Close " & MIDIFileName, vbNull, 0, 0)
のように行っています。
mciSendStringでPauseとResumeを使えばいいことはわかったのですが、使い方がわかりません。
一時停止の方法をおしえてください。
>mciSendStringでPauseとResumeを使えばいいことはわかったのですが、使い方がわかりません。

> mciSendString("Play " & MIDIFileName, vbNull, 0, 0)
> mciSendString("Close " & MIDIFileName, vbNull, 0, 0)
のように

' 一時停止
mciSendString("Pause " & MIDIFileName, vbNull, 0, 0)
' 再開
mciSendString("Resume " & MIDIFileName, vbNull, 0, 0)

ではダメでしたか?

ついでにファイル名を指定するときは、前後に " をつけておいたほうがよいかも。
> mciSendString("Play " & MIDIFileName, vbNull, 0, 0)
mciSendString("Play """ & MIDIFileName & """", vbNull, 0, 0)

> mciSendString("Close " & MIDIFileName, vbNull, 0, 0)
mciSendString("Close """ & MIDIFileName & """", vbNull, 0, 0)

> mciSendString("Pause " & MIDIFileName, vbNull, 0, 0)
mciSendString("Pause """ & MIDIFileName & """", vbNull, 0, 0)

> mciSendString("Resume " & MIDIFileName, vbNull, 0, 0)
mciSendString("Resume """ & MIDIFileName & """", vbNull, 0, 0)
■No16921に返信(Blueさんの記事)
> >mciSendStringでPauseとResumeを使えばいいことはわかったのですが、使い方がわかりません。
>
>>mciSendString("Play " & MIDIFileName, vbNull, 0, 0)
>>mciSendString("Close " & MIDIFileName, vbNull, 0, 0)
> のように
>
> ' 一時停止
> mciSendString("Pause " & MIDIFileName, vbNull, 0, 0)
> ' 再開
> mciSendString("Resume " & MIDIFileName, vbNull, 0, 0)
>
> ではダメでしたか?

> ' 一時停止
> mciSendString("Pause " & MIDIFileName, vbNull, 0, 0)
> ' 再開
> mciSendString("Resume " & MIDIFileName, vbNull, 0, 0)
のようにやってみたのですが、一時停止ではいちおう止まるのですがもう一度ボタンを押しても演奏が行われません。
Play で再生すると最初からになってしまいます。
どのように変更したらいいのでしょうか??
ファイルを直接 Play するんじゃなくて、一旦 Open して Alias を付けておいて、それに対して Play その他を使うとか。
  • 題名: Re[4]: MIDI演奏の一時停止
  • 著者: subaru
  • 日時: 2006/08/02 13:45:03
  • ID: 16926
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No16925に返信(Hongliangさんの記事)
> ファイルを直接 Play するんじゃなくて、一旦 Open して Alias を付けておいて、それに対して Play その他を使うとか。

一旦 Open して Alias をつけて Play や Pause を使ったところ、ちゃんと一時停止し停止した位置から再生することができました。
教えていただいてありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板