游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1455|回复: 1

Directx Sound出现冲突

[复制链接]

4

主题

44

帖子

44

积分

注册会员

Rank: 2

积分
44
发表于 2008-11-21 16:43:00 | 显示全部楼层 |阅读模式
为什么我的下面这段代码编译能通过,没警告也没错,但是却出现冲突,为什么呢
LPDIRECTSOUNDBUFFER CSound::CreateSndBuffer(char *path)
{
        WAVEFORMATEX swfmt;                                // 声明声音结构
        MMCKINFO ckRiff;                                // RIFF区块的信息
        MMCKINFO ckInfo;                                // 子区块的信息
        HMMIO hmmio;                                        // 打开的多媒体文件
        DWORD size;                                                // 实际数据大小

        hmmio = mmioOpen(path,NULL,MMIO_ALLOCBUF|MMIO_READ);

        ckRiff.fccType = mmioFOURCC('W','A','V','E');   // 设定文件类型
        mmioDescend(hmmio,&ckRiff,NULL,MMIO_FINDRIFF); // 查找类型

        ckInfo.ckid = mmioFOURCC( 'f', 'm' , 't' , ' ');          // 设定区块类型
        mmioDescend(hmmio,&ckInfo,&ckRiff,MMIO_FINDCHUNK); // 查找区块

        mmioRead(hmmio,(HPSTR)&swfmt,sizeof(swfmt));

        mmioAscend(hmmio,&ckInfo,0);                                // 跳出子区块
        ckInfo.ckid = mmioFOURCC('d','a','t','a');                        // 设定区块类型

        mmioDescend(hmmio,&ckInfo,&ckRiff,MMIO_FINDCHUNK);        // 查找区块

        size = ckInfo.cksize;

        LPDIRECTSOUNDBUFFER pSBuf;                        // 声明缓冲区指针                       
        DSBUFFERDESC desc;                                        // 声明描述结构
        memset(&desc,0,sizeof(desc));                // 清空结构内容
        desc.dwSize = sizeof(desc);                        // 配置结构大小
        desc.dwBufferBytes = size;                        // 设定缓冲区大小
        desc.lpwfxFormat = &swfmt;                        // 设定缓冲区格式
        desc.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLPAN |
                                DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS;
        lpds->CreateSoundBuffer(&desc,&pSBuf,NULL);
       
        LPVOID pAudio;
        DWORD bytesAudio;
        pSBuf->Lock(0,size,&pAudio,&bytesAudio,NULL,NULL,NULL);

        mmioRead(hmmio,(HPSTR)pAudio,bytesAudio); // 读取音文件数据
       
        pSBuf->Unlock(pAudio,bytesAudio,NULL,NULL);//就在这里出错了,不知道为什么

        mmioClose(hmmio,0);       

        return pSBuf;
}abc

4

主题

44

帖子

44

积分

注册会员

Rank: 2

积分
44
 楼主| 发表于 2008-11-21 16:48:00 | 显示全部楼层

Re:Directx Sound出现冲突

我多发了个abc不好意思啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 21:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表