プロが教えるわが家の防犯対策術!

PlaySoundを使用すると1曲しか再生できませんが

2曲同時再生するにはサウンドミックスしかないんでしょうか?

セカンダリバッファの内容をミックスしてプライマリバッファを再生するしか

方法は無いのでしょうか?

もっと簡単な同時再生のやりかたをご存知でしたらどなたか教えてください!

A 回答 (1件)

私もあまり詳しくなく、前スレの回答でMCIを使えばよいと言われましたよね?


簡単なやり方というか、サンプルを載せておきます。
後はご自分でいじってください。
/////////////////////////////////////////////
#include <windows.h>
#include<Mmsystem.h>
#pragma comment(lib,"Winmm.lib")
#include<stdio.h>
MCIDEVICEID playSound(char *strFile);
void stopSound(MCIDEVICEID stopID);
int main()
{
char *strFile;
MCIDEVICEID playID[2];
strFile="C:\\\****1.WAV";
playID[0]=playSound(strFile);
strFile="C:\\****2.WAV";
playID[1]=playSound(strFile);
getchar();
stopSound(playID[0]);
getchar();
stopSound(playID[1]);
getchar();
return 0;
}
MCIDEVICEID playSound(char *strFile)
{
static MCI_OPEN_PARMS mop;
mop.dwCallback = (DWORD)NULL;
mop.lpstrDeviceType = (LPCSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;
mop.lpstrElementName = strFile;
mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_OPEN_ELEMENT,(DWORD)&mop);
mciSendCommand(mop.wDeviceID , MCI_PLAY , 0 , 0);
return mop.wDeviceID;
}
void stopSound(MCIDEVICEID stopID)
{
mciSendCommand(stopID , MCI_STOP , 0 , 0);
return;
}
/////////////////////////////////////////////
    • good
    • 0
この回答へのお礼

#include "DxLib.h"するとできました!
ありがとうございます。

お礼日時:2006/01/29 22:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!