游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: dazhanhongtu

请问:我用 IDirectSoundBuffer8::Play() 放不出声音?

[复制链接]

1

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2009-6-9 18:06:00 | 显示全部楼层

Re:请问:我用 IDirectSoundBuffer8::Play() 放不出声音?

up

1

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2009-6-11 22:47:00 | 显示全部楼层

Re:请问:我用 IDirectSoundBuffer8::Play() 放不出声音?

up

0

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
QQ
发表于 2010-4-13 05:07:00 | 显示全部楼层

Re: 请问:我用 IDirectSoundBuffer8::Play() 放不出声音?

Dx 9.0的手册里面这样写的:
Return Values

If the method succeeds, the return value is DS_OK.

If the method fails, the return value may be one of the following error values:

Return code
DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED

大意是如果成功则返回 DS_OK,不成功则返回相应的值,你可以根据返回值来判断怎么回事。
给你个参考:
hr=lpsb1-&gtlay(0,0,0);
        switch(hr)
        {
                case DSERR_BUFFERLOST:
                        MessageBox(NULL,"fail1","test",MB_OK);
                        break;
                case DSERR_INVALIDCALL:
                        MessageBox(NULL,"fail2","test",MB_OK);
                        break;
                case DSERR_INVALIDPARAM:
                        MessageBox(NULL,"fail3","test",MB_OK);
                        break;
                case DSERR_PRIOLEVELNEEDED:
                        MessageBox(NULL,"fail4","test",MB_OK);
                        break;
           }
我今天才学得,做的时候没有设置协调级别(SetCoopertiveLevel),出现DSERR_PRIOLEVELNEEDED;设置后就好了。
刚开始有声音,不知道为什么,弄了几次之后就不行了。我也在摸索中。
论坛上有DX的开发手册,不过是英文版的,你可以下来看看,我也是昨天才下载的,就为DirectSound...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-16 22:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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