返回首页

{A}(如果你不能解压缩文件,只需要改变。ZIP,RAR的扩展。)
{S0}简介
这是一个非常简单的音乐播放器,使用MCI多媒体命令字符串与设备交互。 MCI接口是相当强大的,是非常有用的。您可以播放几乎所有的音频文件(视频文件,但我还没有涉及到这在我的播放器的一部分),包括MP3,波形,MIDI,ASF,和。背景
对我帮助很大。这是非常有用的,与MCI开始。
你可以找到在这个应用程序中使用的命令。使用的codenbsp;
应用程序有一个播放器类来处理所有与MCI设备之间的相互作用。标签读写器类读取有关的声音文件的具体信息(标题,艺术家,专辑,等)。此外,环境的文件处理的主要形式。Player类
Player类中使用的变量声明:

Random randomNumber;

private StringBuilder msg;  // MCI Error message

private StringBuilder returnData;  // MCI return data

private int error;

private string Pcommand;  // String that holds the MCI command

private ListView playlist;  // ListView as a playlist with the song path

public int NowPlaying { get; set; }

public bool Paused { get; set; }

public bool Loop { get; set; }

public bool Shuffle { get; set; }

首先,有一个对象类型的随机返回一个随机数,我使用随机播放模式。两个StringBuilders使用MCI设备:第一(MSG)是通过mciGetErrorString给定int值的消息使用mciSendString回报(mciSendString操作失败返回一个整数值,0为一个成功的操作和一个数字) 。 returnData我期待一个返回消息(当试图获得状态:quot; playingquot,"pausedquot,等等)时使用。 Pcommand只是一个字符串,它拥有的命令,我通过mciSendString发送。 ListView的播放是一个非常重要的的变量,因为它拥有一个播放列表中的所有文件路径的名单,我访问通过索引(0)的第一首歌,第二个1,等所有的文件路径。 NowPlaying持有的ListView播放列表的索引,表示正在播放的歌曲。布尔变量只是用来观看球员的状态。DllImport

回答

评论会员:会员7670066 时间:2012/01/25
喜达米尔。谢谢你在这个例子中。它真的帮了我的工作之一,我
评论会员:farhanshahzad 时间:2012/01/25
非常漂亮的
评论会员:mikkojay 时间:2012/01/25
非常有用的
评论会员:jasonhh 时间:2012/01/25
尼斯的工作!

你能告诉我,我怎么能得到一个流/缓冲区,玩家将扮演在下一秒钟。

我想从一些特殊效果处理这些数据。

谢谢你
评论会员:达米尔Porobic 时间:2012/01/25
如果​​你的意思是这首歌的日期,那么答案是:"我不知道"

因为所有的日期是由MCI字符串处理,所以我不能访问它。

也许有一种方式,但我只有一些基本知识和MCI字符串命令,不能帮你。对不起队友:(
评论会员:玉山谈 时间:2012/01/25
他可以发挥的文件更新VOB改变轨道,轨道2(卡拉OK)
。请帮助挽救感谢{S2} {S2} {S2}
评论会员:dfgfdgdg 时间:2012/01/25
嗨,学习非常好的球员)
当我尝试打开文件80 MB的大小,我有例外:

System.FormatException未处理
消息=输入字符串的格式不正确。


INT GetSongLenght()
{
& #160;(ISOPEN)
{
 60; StringBuilder的returnData =新的StringBuilder(128)
Pcommand ="状态MediaFile长度";
  ; / /错误= mciSendString(Pcommand,returnData,returnData.Capacity,IntPtr.Zero);
& #160; mciSendString(Pcommand,returnData,returnData.Capacity,0);
返回int.Parse(returnData.ToString ());{ BR} }
 60; 否则返回0;
 60;}

我只是研究,请帮助我,如何修复
评论会员:?达米尔Porobic 时间:2012/01/25
80MB? whoow花花公子..是一个很大的歌曲{S5}

告诉我更多..是一首歌曲或视频文件?
你用较小的文件有相同的问题吗?

尝试双字符串生成器的大小从128到256(新的StringBuilder(256))。我不知道如果这是去工作,但你可以尝试
评论会员:。dfgfdgdg 时间:2012/01/25
{中一}哇,我没有,甚至希望快速解答,感谢了很多

它是音频讲座... ... )

我增加了字符串生成器256(1024)
和我有同样的错误

也许问题回报int.Parse(returnData.ToString());(INT){七}
评论会员:达米尔Porobic 时间:2012/01/25
HMM我肯定这一点的注意。

部分"返回int.Parse(returnData.ToString ());"字符串的字符串生成器,它解析成一个整数值。这部分工作得很好,对我来说,用较小的文件,它具有这样的,因为我整数值稍后。

现在..您使用的是一个大的文件... ...从字符串生成的值不适合int变量

尝试增加这个值(长整型,INT16,INT32,甚至高出一倍)..这也许可以解决这个问题。
如果你改变这个值比你要改变​​函数的返回值的不同类型的
评论会员:。Kaushik_Poria 时间:2012/01/25
不久,我会上传一个完整的MCI播放器
我在我的毕业(在VB6.0)
创建我将其转换为C#
它可以播放几乎所有的文件不会出现错误
它历时6个月以上,但终于成功
评论会员:达米尔Porobic 时间:2012/01/25
,它会很高兴地看到它
这个播放器是在不到一个星期,是某种"让我看看它是如何工作",但我不会发展,我没有任何进一步的事业满意与MCI设备..它不能播放所有的音乐文件,它不返回总是正确的时间,这是一个音乐播放器功能不好。

实践中是非常有用的
评论会员:。达米尔Porobic 时间:2012/01/25
您好!
很好地完成!
有一种mciSendstring错误:
如果您设置音量,左/右卷设置得到覆盖。 Therfore我自己mciPlayer(这是更简单)左,右卷的出版
评论会员:。petersych 时间:2012/01/25
我与mciSendString在所有不愉快,因为有许多这样的错误(你不能发挥它的每一个MP3,它不返回总是正确的歌曲时间/长度...等)。
我正与另一种声音库,现在,我希望它更好的作品比MCI。
如果我选择左,右的音量和主音量之间,我会选主音量...我现在不,它就像一个标准的
评论会员:达米尔Porobic 时间:2012/01/25
我的方式来控制从VB6的MIDI文件的节奏,使用MCI命令字符串(winmm.dll)
寻找任何人都可以帮助吗?
评论会员:afree 时间:2012/01/25
很难说。我发现的唯一的播放命令(快,慢)
这些参数我没有尝试过,但它看起来只喜欢快速的参数,可以使用音频文件
评论会员:hswear3 时间:2012/01/25
{S2}
评论会员:达米尔Porobic 时间:2012/01/25
我试图下载的代码两次,两次我无法用WinZip打开zip文件。能否请您尝试下载他们自己,如果你有问题,请转贴他们。 ThanksHerbert ñ Swearengen III
评论会员:hswear3 时间:2012/01/25
我刚刚下载的所有三个文件,并提取它们。我的电脑上运行良好。
但我用winrar,压缩和提取,也许这会导致该问题
评论会员:?达米尔Porobic 时间:2012/01/25
我只是从zip改名为所有三个文件,RAR和WinZip能够提取。他们必须真正RAR文件,而不是zip文件,因为Windows Vista不能提取它们。转到图赫伯特ñ Swearengen三
评论会员:!Kaushik_Poria 时间:2012/01/25
是他们的RAR文件。我将压缩(真正的WinZip),他们的权利,并将其上传再次
评论会员:马蒂亚斯拉尔森75 时间:2012/01/25
花花公子用WINRAR打开它完美
评论会员:达米尔Porobic 时间:2012/01/25
是否有一种方法来选择,设备输出声音?

(看来你混在左边和右边的SetBalance方法,至少根据*我*扬声器

谢谢!
/马蒂亚斯
评论会员:达米尔Porobic 时间:2012/01/25
对不起队友,没有发现任何关于声音设备之间进行选择。即使我有一个解决办法,我无法测试,它导致我刚才一台设备。但如果我看到/找到一些东西,我将它张贴在这里
这与混合左,右扬声器方...我不知道,与我的扬声器罚款
稍后我会检查和编辑代码出头的错误(建议感谢)