4

我将在即将到来的星期六(2009 年 5 月 30 日)结婚。我们很穷。因此,我不想聘请 DJ,而是希望我的朋友从笔记本电脑上启动 mp3 播放列表,然后通过 PA 系统播放。

好吧,我对一些完美的软件有一个愿景。这是愿景: 替代文字

我希望这样做,这样我的朋友就不会搞砸了,我认为如果我的愿景成为现实,那么就不会搞砸了。

现在是编程问题?如何从 .net 代码播放 mp3?我目前正在尝试使用 NAudio,但我不知道我是否可以让它淡入/淡出文件。

还有其他可以帮助我的免费图书馆吗?感谢您的任何意见。时间就是生命。

人们!

专注于编程问题!如果我将来需要使用音频,您的回答可能是我命运的关键。

4

9 回答 9

11

您所描述的内容听起来像是 iTunes 和 Windows Media Player 等功能程序已经拥有多年的功能,我建议您只使用这两个程序之一。但是,如果您确实想从 .NET 播放 MP3,Google 搜索找到了我这个:http: //www.codeproject.com/KB/audio-video/mp3player.aspx和这个:http://www.codeproject。 com/KB/audio-video/ManWMF.aspx

此外,如果您的婚礼在 4 天内举行,这可能不是最好的主意。我不会浪费您的时间编写媒体播放器。如果你想让它变得精致和防白痴,请使用 iTunes。如果您想编写媒体播放器,请在婚礼后进行。

于 2009-05-26T19:49:30.757 回答
7

到目前为止,这里最简单的解决方案是使用Windows Media Player COM 控件此页面提供了开始使用此方法的良好指南。只需使用计时器调整音量即可产生淡入/淡出效果。

如果您想完全控制播放,那么总有DirectShow.NET选项,尽管这对于您的任务来说可能是多余的。更重要的是,除非您已经对非托管 DirectShow API 有一定的经验,否则使用起来非常痛苦。但是,正如我所说,如果可能的话,我会尽量远离这种情况。

编辑:我现在也意识到Microsoft.Xna.Framework.Media命名空间可以为您的任务提供一个很好的托管解决方案。它当然应该比 WMP 控件提供更多的控制权(作为奖励,它是纯粹的 .NET 而不是 COM)。唯一的小缺点是它需要引用 XNA Framework 3.0。

于 2009-05-26T19:52:55.807 回答
3

下载MediaMonkey。在婚礼前一周你有比写另一个 MP3 播放器更好的事情要做。MediaMonkey 甚至有一个 DJ 模式,可以锁定您的系统,这样您的客人就无法更改您的播放列表。

于 2009-05-26T19:50:33.970 回答
1

正如我之前所说,

“有很多关于图书馆帮助播放音频的好建议,这就是我真正想要的。我不会真的尝试编写程序。感谢您的好评。”

仅针对那些好奇的人:对于我的婚礼,我使用了 Winamp 5.whatever,并为婚礼的不同部分保存了播放列表,并在文件名前加上 01、02……,这样它们就会按顺序显示在文件系统中。

为了规范音频,我下载了一个名为RockSteady的插件,效果很好。对于停止/暂停/歌曲之间的淡入淡出,在选项 -> 首选项 -> 插件 -> 输出 -> Nullsoft DirectSound 输出配置 -> 淡入淡出选项卡中,我将“歌曲结束”设置为 6000 毫秒,将“暂停/停止”设置为15000 毫秒。然后在另一个选项卡上,我选中了“对数渐变”复选框。

这些设置使音频听起来不错且专业。

于 2009-06-02T16:45:47.607 回答
0

你在重新发明轮子。如果“时间至关重要”,只需为您的朋友创建播放列表文件并将它们全部放在同一个目录中。将它们标记为 00 - 前奏,01 - 游行等。

有关更多信息,请参阅有关 M3U 格式的这篇文章。您可以列出要以这种基于文本的格式播放的文件。或者只是使用媒体播放器(如 winamp 或 windows 媒体播放器)来创建播放列表文件。

于 2009-05-26T19:52:04.933 回答
0

我同意这里的大多数其他人。我认为你真的应该尝试通过使用另一个已经构建的免费选项(如 iTunes、Winamp 或 WMP)来简化事情。如果你真的想学习新东西,那么在你不会承受如此大的压力让它发挥作用之后,这样做只是为了好玩。

但是,如果您真的想完成此操作,我认为http://code.google.com/p/ffmpeg-sharp/应该做您想做的事。

于 2009-05-26T20:04:08.467 回答
0

真的很有趣,但我认为您应该使用已经存在的解决方案。

但是,您可以查看以下链接:

此外,Windows 媒体播放器 com 控件应该是一个不错的选择。

PS:我不知道我是否可以在答案中包含一个问题,但是您是如何制作该图形的?

于 2009-05-26T20:04:29.357 回答
0

我同意其他人的观点,制作几个播放列表,然后使用 Windows 媒体播放器加载/播放它们。

于 2009-05-31T04:38:38.287 回答
0

我包装了 mp3 解码器库,并将其提供给 .net 开发人员。你可以在这里找到它:

http://sourceforge.net/projects/mpg123net/

包括将 mp3 文件转换为 PCM 和读取 ID3 标签的示例。

你需要像 waveOut 包装器这样的东西,我知道它存在,然后就可以了!

于 2010-08-24T19:49:24.603 回答