c# 调用api播放MP3问题

http://www.yesky.com/182/1898182.shtml参考代码在这其中有2点我不明白第一点谁能告诉我一下代码什么意思publicclassAPICl... http://www.yesky.com/182/1898182.shtml参考代码在这其中有2点我不明白第一点谁能告诉我一下代码什么意思public class APIClass
 {
  [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  public static extern int GetShortPathName (
   string lpszLongPath,
   string shortFile,
   int cchBuffer
  );

  [DllImport("winmm.dll", EntryPoint="mciSendString", CharSet = CharSet.Auto)]
  public static extern int mciSendString (
   string lpstrCommand,
   string lpstrReturnString,
   int uReturnLength,
   int hwndCallback
  );
 }第二点APIClass.mciSendString("play media", TemStr, TemStr.Length , 0);这个函数在调用的时候我调试发现temstr字符串是空的,但是还是能够正常播放按理说应该APIClass.mciSendString("play media",mc.iName , mc.iName.Length, 0);现在这2个函数都能实现播放指定歌曲的作用但是我不知道为什么APIClass.mciSendString("play media", TemStr, TemStr.Length , 0);没指定路径却能正常播放
展开
 我来答
匿名用户
2013-11-15
展开全部
C#使用DllImport来访问非托管资源。这段代码访问的是kernel32.dll和winmm.dllwinmm.dll是Window系统提供给程序员们的API,里面封装了很多函数。但是在C#中不能直接使用,必须使用extern关键字来告诉系统,让系统执行到此处时,自己去找winmm.dll里面的mciSendString的函数。由于mciSendString函数需要4个参数,public static extern int mciSendString (
   string lpstrCommand,
   string lpstrReturnString,
   int uReturnLength,
   int hwndCallback
  );

string lpstrReturnString,
int uReturnLength,是调用此函数后的返回值。我们现在只是要放首MP3而已,因此可以随便给一个变量名。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式