Dxライブラリ 1秒ごとに音

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
シュン
記事: 3
登録日時: 3年前

Dxライブラリ 1秒ごとに音

#1

投稿記事 by シュン » 3年前

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???)は鳴れどそこから先は音が鳴りません。
どのように改善すればよいのでしょうか?

アバター
usao
記事: 1887
登録日時: 11年前

Re: Dxライブラリ 1秒ごとに音

#2

投稿記事 by usao » 3年前

そのループがどれだけの勢いで回るのかわからないけども,
==0 ってのはタイミングがシビアすぎるのでは?

経過時間(GetNowCount() - StartTime)が1000以上だったら音を鳴らして,StartTimeの値を現在時刻に更新してやる

とかなんとかすればどうでしょう?

シュン
記事: 3
登録日時: 3年前

Re: Dxライブラリ 1秒ごとに音

#3

投稿記事 by シュン » 3年前

なるほどです(笑)
プログラムだってシビアなことは難しいものなのですね。。
多分それが原因なんだと思います。そのように変えてみます。ありがとうございました!!

ぷぷぷジューシー
記事: 28
登録日時: 3年前
住所: アンドロメダ銀河系のどこかに住んでいる

Re: Dxライブラリ 1秒ごとに音

#4

投稿記事 by ぷぷぷジューシー » 3年前

*c言語には自信ありません。
Dxライブラリーではないのですが、
私のやり方では1秒ごとに音の機能をunistdライブラリーのsleep関数で使ってスリープしながら行います。

サンプルコード
#include <unistd.h>

int main(void)
{
sleep(3);
}

下の記事を参考になると思います。
https://linuxjm.osdn.jp/html/LDP_man-pa ... eep.3.html
面倒なことはCGo使おう!

返信

“C言語何でも質問掲示板” へ戻る