- ベストアンサー
2曲同時再生するにはどうしたらいい?
PlaySoundを使用すると1曲しか再生できませんが 2曲同時再生するにはサウンドミックスしかないんでしょうか? セカンダリバッファの内容をミックスしてプライマリバッファを再生するしか 方法は無いのでしょうか? もっと簡単な同時再生のやりかたをご存知でしたらどなたか教えてください!
- みんなの回答 (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; } /////////////////////////////////////////////
お礼
#include "DxLib.h"するとできました! ありがとうございます。