合計 昨日 今日

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

フォーラムルール
フォーラムルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Name: sakurasaku
[URL]
Date: 2017年11月11日(土) 19:53
No: 1
(OFFLINE)

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

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

Name: pell
[URL]
Date: 2017年11月12日(日) 00:00
No: 2
(OFFLINE)

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

音だけの為にDxLibを使うなら初めからDxLibで作るべき?と思う。
音専用のライブラリを色々試してみるのも勉強になっていいと思うよ。
自分がWin32apiで使っているのはxaudio2です。
コード[C++]: 全て選択
1
2
#include <Xaudio2.h>
#pragma comment(lib,"xaudio2.lib")

で使える。
変数や構造体。初期化。音の鳴らし方は調べる。
DirectX Sample Browserなどサンプルは多いはず。
XACTと調べても出るはず。

DirectSoundも調べれば出る。
http://www.charatsoft.com/develop/otogema/page/06sound/ds.html

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

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


Return to C言語何でも質問掲示板

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[21人]