Win32apiを使ったプログラムの中で多重再生をする方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sakurasaku

Win32apiを使ったプログラムの中で多重再生をする方法

#1

投稿記事 by sakurasaku » 7ヶ月前

間違えて一度投稿したトピックで解決済みとしてしまったので再投稿させていただきます。申し訳ございません。
Win32apiをしようしたプログラムの中で多重再生が必要となったのですが、どうやらwin32apiの機能を使って多重再生をするのは難しいらしく、DXライブラリのLoadSoundMem関数やDirectXのMicrosoft.DirectX.AudioVideoPlayback.AudioクラスやDirectSoundを利用する方法があることを知ったのですが、Win32apiプログラムの中にDXライブラリやDirectXを組み込む方法がわかりません。多重再生ができればなんでもいいので、方法を教えてください。行いたい処理の具体的な内容としては、同じ効果音を重ねてならすことです。再生位置などそういった細かい制御はできる必要がありません。コードはC言語を使っています。

pell

Re: Win32apiを使ったプログラムの中で多重再生をする方法

#2

投稿記事 by pell » 7ヶ月前

音だけの為にDxLibを使うなら初めからDxLibで作るべき?と思う。
音専用のライブラリを色々試してみるのも勉強になっていいと思うよ。
自分がWin32apiで使っているのはxaudio2です。

コード:

#include <Xaudio2.h>
#pragma comment(lib,"xaudio2.lib")
で使える。
変数や構造体。初期化。音の鳴らし方は調べる。
DirectX Sample Browserなどサンプルは多いはず。
XACTと調べても出るはず。

DirectSoundも調べれば出る。
http://www.charatsoft.com/develop/otoge ... nd/ds.html

少し古いものだとDirectShowもある。システム音位ならこれでいい。
https://www21.atwiki.jp/opengl/pages/37.html

後、同じ効果音を重ねて鳴らしすぎるとスピーカーが壊れる事は知ってると思いますが
そこだけ気を付けてコード組んで下さい。

返信

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