音楽を停止した位置から再生するには・・・?
Posted: 2009年11月04日(水) 17:22
お世話になっております。
現在、東方っぽいゲームを制作しております。
一時停止で困ったことがおこってしまいました。
一時停止すると音楽を停止し、一時停止解除時に、停止した位置から再生したいと思っています。
今行っている方法は
一時停止すると、
流れている音楽をStopSoundMem(area.bgm.handle);を行って停止します。
一時停止を解除すると
PlaySoundMem(area.bgm.handle,DX_PLAYTYPE_LOOP);を行って、
音楽を再生してみたのですが、最初から再生されてしまいました。
一時停止を解除すると、音楽が停止した位置から、再生されるという風にするにはどうすればいいのでしょうか。
DXライブラリのリファレンスを見ましたが、途中位置を取得するという関数が無かったので
ヘッダファイルを覗いてみると、それらしきものがありましたが、これらを使用するのでしょうか。
extern int SetSoundCurrentPosition( int Byte, int SoundHandle ) ;
// サウンドハンドルの再生位置をバイト単位で変更する(再生が止まっている時のみ有効)
extern int GetSoundCurrentPosition( int SoundHandle ) ;
// サウンドハンドルの再生位置をバイト単位で取得する
extern int SetSoundCurrentTime( int Time, int SoundHandle ) ;
// サウンドハンドルの再生位置をミリ秒単位で設定する(圧縮形式の場合は正しく設定されない場合がある)
extern int GetSoundCurrentTime( int SoundHandle ) ;
// サウンドハンドルの再生位置をミリ秒単位で取得する(圧縮形式の場合は正しい値が返ってこない場合がある)
現在、東方っぽいゲームを制作しております。
一時停止で困ったことがおこってしまいました。
一時停止すると音楽を停止し、一時停止解除時に、停止した位置から再生したいと思っています。
今行っている方法は
一時停止すると、
流れている音楽をStopSoundMem(area.bgm.handle);を行って停止します。
一時停止を解除すると
PlaySoundMem(area.bgm.handle,DX_PLAYTYPE_LOOP);を行って、
音楽を再生してみたのですが、最初から再生されてしまいました。
一時停止を解除すると、音楽が停止した位置から、再生されるという風にするにはどうすればいいのでしょうか。
DXライブラリのリファレンスを見ましたが、途中位置を取得するという関数が無かったので
ヘッダファイルを覗いてみると、それらしきものがありましたが、これらを使用するのでしょうか。
extern int SetSoundCurrentPosition( int Byte, int SoundHandle ) ;
// サウンドハンドルの再生位置をバイト単位で変更する(再生が止まっている時のみ有効)
extern int GetSoundCurrentPosition( int SoundHandle ) ;
// サウンドハンドルの再生位置をバイト単位で取得する
extern int SetSoundCurrentTime( int Time, int SoundHandle ) ;
// サウンドハンドルの再生位置をミリ秒単位で設定する(圧縮形式の場合は正しく設定されない場合がある)
extern int GetSoundCurrentTime( int SoundHandle ) ;
// サウンドハンドルの再生位置をミリ秒単位で取得する(圧縮形式の場合は正しい値が返ってこない場合がある)