トップページ > 過去ログ > 記事閲覧
音声ファイルの一時停止
名前:ハル 日時: 2007/07/10 06:22

はじめまして。 ライブラリありがたく利用させてもらってます。 ストリーム再生中の音声ファイルの再生を一時停止して、 停止位置から再生を開始させたいのですが、 どのようにすればよろしいでしょうか?

Page: 1 |

Re: 音声ファイルの一時停止 ( No.1 )
名前:管理人 日時:2007/07/12 11:46

ハルさん始めまして、DXライブラリの管理人です。 StopSoundMem 関数で停止した音を、停止した位置から再生する方法ですが、 リファレンスには乗っていない PlaySoundMem 関数の第三引数を使うことに よって実現することが出来ます。 DxLib.h では、PlaySoundMem 関数は以下のように宣言されています。 // メモリに読みこんだWAVEデータを再生する int PlaySoundMem( int SoundHandle, int PlayType, int TopPositionFlag = TRUE );  第三引数の TopPositionFlag は、SoundHandle で指定している音を先頭から 再生するか、現在の再生位置から再生するかを指定するための引数で、TRUE を 渡した場合は先頭から再生され、FALSE を渡した場合は現在の再生位置から再生を 開始します。  特に何も書かなかった場合のデフォルトの引数は TRUE になっているので、 通常は常に先頭から再生されるようになっていますが、TopPositionFlag を FALSE にすることで、StopSoundMem 関数で停止した位置から再生することが出来ます。 int SoundHandle; // 音を読み込んで再生 SoundHandle = LoadSoundMem( "Test.wav" ); PlaySoundMem( SoundHandle, DX_PLAYTYPE_LOOP ); // 10秒間再生した後一時停止 WaitTimer( 1000 * 10 ); StopSoundMem( SoundHandle ); // 5秒後に停止した位置から再生開始 WaitTimer( 1000 * 5 ); PlaySoundMem( SoundHandle, DX_PLAYTYPE_LOOP, FALSE );  宜しければお使い下さい。m(_ _)m
Re: 音声ファイルの一時停止 ( No.2 )
名前:ハル 日時:2007/07/14 22:09

管理人様 お忙しい中丁寧な解説ありがとうございます。 再生周波数を100Hzまで落として偽装してたのが、これでやっとすっきりしました。

Page: 1 |