DXライブラリにてandroidアプリを制作しようとしていて
以下のコードで5秒間の間、1秒ごとに短い音を鳴らしたいのですが
StartTime = GetNowCount();
PosX = 10000;
while (GetNowCount() - StartTime < 5000) {
if((GetNowCount() - StartTime)%1000 ==0){
PlaySoundMem( SHandle , DX_PLAYTYPE_BACK ) ;
}
最初の1回(GetNowCount() - StartTime==0???)は鳴れどそこから先は音が鳴りません。
どのように改善すればよいのでしょうか?
Dxライブラリ 1秒ごとに音
Re: Dxライブラリ 1秒ごとに音
そのループがどれだけの勢いで回るのかわからないけども,
==0 ってのはタイミングがシビアすぎるのでは?
経過時間(GetNowCount() - StartTime)が1000以上だったら音を鳴らして,StartTimeの値を現在時刻に更新してやる
とかなんとかすればどうでしょう?
==0 ってのはタイミングがシビアすぎるのでは?
経過時間(GetNowCount() - StartTime)が1000以上だったら音を鳴らして,StartTimeの値を現在時刻に更新してやる
とかなんとかすればどうでしょう?
Re: Dxライブラリ 1秒ごとに音
なるほどです(笑)
プログラムだってシビアなことは難しいものなのですね。。
多分それが原因なんだと思います。そのように変えてみます。ありがとうございました!!
プログラムだってシビアなことは難しいものなのですね。。
多分それが原因なんだと思います。そのように変えてみます。ありがとうございました!!
Re: Dxライブラリ 1秒ごとに音
*c言語には自信ありません。
Dxライブラリーではないのですが、
私のやり方では1秒ごとに音の機能をunistdライブラリーのsleep関数で使ってスリープしながら行います。
サンプルコード
#include <unistd.h>
int main(void)
{
sleep(3);
}
下の記事を参考になると思います。
https://linuxjm.osdn.jp/html/LDP_man-pa ... eep.3.html
Dxライブラリーではないのですが、
私のやり方では1秒ごとに音の機能をunistdライブラリーのsleep関数で使ってスリープしながら行います。
サンプルコード
#include <unistd.h>
int main(void)
{
sleep(3);
}
下の記事を参考になると思います。
https://linuxjm.osdn.jp/html/LDP_man-pa ... eep.3.html
面倒なことはCGo使おう!