hur.cn - 华软网

 热门搜索

播放不出来,路径哪里不对

  作者:未知    来源:网络    更新时间:2011/9/24
char ss1[256];
char ss2[512];
char* szPath;
GetCurrentDirectory(256,ss1);
CString ss(ss1);
ss=ss+"\click_02.wav";

  char* Orstr="\\";
  char* Nrstr="\\\\";
  ss.Replace(Orstr,Nrstr);

szPath=ss.GetBuffer(ss.GetLength());

::GetShortPathName(szPath,ss2,sizeof(ss2));

sndPlaySound(szPath,SND_ASYNC|SND_NODEFAULT); 
麻烦各位大侠看一下小弟的这个。
---华软 网友回答---
是两个// 
---华软网友回复---
ss+“\\click2.wav”;
---华软网友回复---
引用 2 楼 chaoyue0724 的回复:
ss+“\\click2.wav”;

++
---华软网友回复---
都试过了,还是不行的,各位大侠还有没有别的办法呢?
---华软网友回复---
大侠们都路过,我自己顶一下。
---华软网友回复---
是不是我贴错地方了,就没有高手来看看吗?
---华软网友回复---
你看看szPath最后的值,可以写个固定值看看啊
---华软网友回复---
MessageBox(szPath);
把弹出的值帖出来大家看一下
---华软网友回复---

---华软网友回复---
0x0038552c "C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButtonclick_02.wav"
截图显示不完整,这是上面的截图信息
---华软网友回复---
我如果直接写死这个路径可以播放,但通过api获得的路径就不行,请问是和路径中的空格有关吗
C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButtonclick_02.wav
---华软网友回复---
路径错了。
char* Orstr="\\";
  char* Nrstr="\\\\"; 
  ss.Replace(Orstr,Nrstr);

这里好像没有必要。你注释掉。
ss+“\click2.wav”;
改掉:ss+“\\click2.wav”;

再试试~
---华软网友回复---
先谢谢楼上

char ss1[256];
char ss2[512];
char* szPath;
GetCurrentDirectory(256,ss1);
CString ss(ss1);
ss=ss+"\\click_02.wav";

szPath=ss.GetBuffer(ss.GetLength());

::GetShortPathName(szPath,ss2,sizeof(ss2));

sndPlaySound(szPath,SND_ASYNC|SND_NODEFAULT); 




我是这样改的还是不行
---华软网友回复---
char ss1[256];
char ss2[512];
GetCurrentDirectory(256,ss1);
CString ss(ss1);
ss=ss+"\\click_02.wav";

sndPlaySound(ss,SND_ASYNC|SND_NODEFAULT); 

这样也试了,也不行
---华软网友回复---
你能确定你得到的ss的值是:
"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButtonclick_02.wav"

引用 14 楼 yayexing 的回复:
char ss1[256];
char ss2[512];
GetCurrentDirectory(256,ss1);
CString ss(ss1);
ss=ss+"\\click_02.wav";

sndPlaySound(ss,SND_ASYNC|SND_NODEFAULT); 

这样也试了,也不行

---华软网友回复---
你引用的那段代码值是
"C:\Documents and Settings\Administrator\桌面\实验\音效按钮\SoundButton\click_02.wav"
---华软网友回复---
不好意思,我前面的路径打错了“SoundButton”和“click_02.wav”之间有斜杆“\”
---华软网友回复---
  char* Orstr="\\";
  char* Nrstr="\\\\";
char ss1[256]={0};
GetCurrentDirectory(256,ss1);
CString ss(ss1);
ss=ss+"\\click_02.wav";
ss.Replace(Orstr,Nrstr);
sndPlaySound(ss,SND_ASYNC|SND_NODEFAULT); 
如果我这样写,ss值是
"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav"
---华软网友回复---
路径字符串中斜杠应该用‘\\’或者‘/’

你换一个相对路径或者全英文的路径试试
---华软网友回复---
sndPlaySound("C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav",SND_ASYNC|SND_NODEFAULT);
我如果像上面这样写就可以。
---华软网友回复---
我现在是想拼出像这样的路径:"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav"
---华软网友回复---
引用 21 楼 yayexing 的回复:
我现在是想拼出像这样的路径:"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav"

你先messagebox一下SS,看看ss字符串是什么样的,在在后面添加相应字符
---华软网友回复---
终于出来了,谢谢大家,大家都说对了,是我自己疏忽,把路径拼错了,唉,惭愧啊
"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\res\\SoundResource\\click_02.wav"
现在结贴,非常感谢大家,不好意思。
---华软网友回复---
CSDN怎么不能像百度问问那样结贴的时候可以加分啊,分太少了。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。