結局南極落ち着くところはそこなのか。

奥様の実家に行ってきました。
半日以上寝てきまして、とんでもない旦那だと思われていること間違いなしデス。こんばんは。

それはそれとして、

前回の続きです。
色々と眠たくなりながら、ざくーっと書きつらねたんですが、どーにもやっぱりおかしいらしくて、振り出しに戻りました。
悶々とした状態で奥様の実家にむかって、すぽーんと忘れて帰ってきて、さてどうしたものかと悩んでいたわけです。

今までの経緯は、

DirectSoundNotify

タイマーで読み込みタイミングを計る。

ということをしてきたのですが、MSが最初からNotifyをきちんと作ってくれれば問題はなかったわけですが、よく言われている他のイベントがきちゃうバグがねぇ・・。

んで、タイマーで読み込んでとかやってみたのですが、適当につくった感じでは、どーも誤差がでるようでダメだということになりました。
んじゃどーすべということは、前回再生したところから、今回チェックした時の再生ポイントまで、既に再生されたバッファ分を更新していこうかねぇということになりました。

これもまたなんと古典的な方法よと。

んで、この時終端のオーバーラップする部分が面倒だなぁとか思っていたのですが、残り100バイトの時に150バイトロックとすると、残りの100バイトまでのポインタと、先頭に戻って50バイト分をロックしてくれるんですなぁ。

いやぁ、今までダメだダメだといい続けていたDirectSoundですが、はじめて、便利だ! と思いましたよ。

綺麗に音が再生されるようになって、なんかぽかなことやってバッファを埋める前に再生して、2秒で一度とぎれるーとぎれるーと悩んでましたが、まぁ、それも出来てしまった状況からは、いい思い出です。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>