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

yayexing 2011-09-24 04:13:18
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);
麻烦各位大侠看一下小弟的这个。
...全文
188 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
不二星空 2011-09-28
  • 打赏
  • 举报
回复
路径字符串中斜杠应该用‘\\’或者‘/’

你换一个相对路径或者全英文的路径试试
yayexing 2011-09-28
  • 打赏
  • 举报
回复
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"
yayexing 2011-09-28
  • 打赏
  • 举报
回复
不好意思,我前面的路径打错了“SoundButton”和“click_02.wav”之间有斜杆“\”
yayexing 2011-09-28
  • 打赏
  • 举报
回复
你引用的那段代码值是
"C:\Documents and Settings\Administrator\桌面\实验\音效按钮\SoundButton\click_02.wav"
猿创日记 2011-09-28
  • 打赏
  • 举报
回复
你能确定你得到的ss的值是:
"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButtonclick_02.wav"

[Quote=引用 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);

这样也试了,也不行
[/Quote]
yayexing 2011-09-28
  • 打赏
  • 举报
回复
char ss1[256];
char ss2[512];
GetCurrentDirectory(256,ss1);
CString ss(ss1);
ss=ss+"\\click_02.wav";

sndPlaySound(ss,SND_ASYNC|SND_NODEFAULT);

这样也试了,也不行
yayexing 2011-09-28
  • 打赏
  • 举报
回复
先谢谢楼上

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);




我是这样改的还是不行
猿创日记 2011-09-28
  • 打赏
  • 举报
回复
路径错了。
char* Orstr="\\";
char* Nrstr="\\\\";
ss.Replace(Orstr,Nrstr);

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

再试试~
yayexing 2011-09-28
  • 打赏
  • 举报
回复
我如果直接写死这个路径可以播放,但通过api获得的路径就不行,请问是和路径中的空格有关吗
C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButtonclick_02.wav
yayexing 2011-09-28
  • 打赏
  • 举报
回复
0x0038552c "C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButtonclick_02.wav"
截图显示不完整,这是上面的截图信息
yayexing 2011-09-28
  • 打赏
  • 举报
回复
supercllc 2011-09-28
  • 打赏
  • 举报
回复
MessageBox(szPath);
把弹出的值帖出来大家看一下
宇影周邵 2011-09-28
  • 打赏
  • 举报
回复
你看看szPath最后的值,可以写个固定值看看啊
yayexing 2011-09-28
  • 打赏
  • 举报
回复
是不是我贴错地方了,就没有高手来看看吗?
yayexing 2011-09-28
  • 打赏
  • 举报
回复
CSDN怎么不能像百度问问那样结贴的时候可以加分啊,分太少了。
yayexing 2011-09-28
  • 打赏
  • 举报
回复
终于出来了,谢谢大家,大家都说对了,是我自己疏忽,把路径拼错了,唉,惭愧啊
"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\res\\SoundResource\\click_02.wav"
现在结贴,非常感谢大家,不好意思。
huaidan2012126 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 yayexing 的回复:]
我现在是想拼出像这样的路径:"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav"
[/Quote]
你先messagebox一下SS,看看ss字符串是什么样的,在在后面添加相应字符
yayexing 2011-09-28
  • 打赏
  • 举报
回复
我现在是想拼出像这样的路径:"C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav"
yayexing 2011-09-28
  • 打赏
  • 举报
回复
sndPlaySound("C:\\Documents and Settings\\Administrator\\桌面\\实验\\音效按\\SoundButton\\click_02.wav",SND_ASYNC|SND_NODEFAULT);
我如果像上面这样写就可以。
yayexing 2011-09-27
  • 打赏
  • 举报
回复
大侠们都路过,我自己顶一下。
加载更多回复(4)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧