如何在我的应用程序中使用 lame.exe?
我在 Microsoft Surface 应用程序中捕获波形格式的音频文件。现在由于文件大小的原因,我想将波形文件转换为 mp3 文件。我在互联网上读到,一个很好的可能性是使用 lame。
但是我如何从我的应用程序中调用这个 exe 文件呢?以及如何将其纳入我的申请中?
I capture audio files in the wave format in my Microsoft Surface application. Now for file size reasons, I'd like to convert the wave file into a mp3 file. I read in the Internet that a good possibility to do that is using lame.
But how can I call this exe file from my application? and how can I include it into my application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Process 类调用外部应用程序:
Use Process class to call an external application:
您可以使用 System.Diagnostics.Process 类和相关类从 .NET 调用可执行文件 - 请参阅 此处 获取文档。
Lame 有相当强大的命令行参数,可以在此处找到。您可以使用 ProcessStartInfo 将命令行参数传递给进程。参数 属性。
You can call an executable from .NET by using the System.Diagnostics.Process class and related classes - see here for the documentation.
Lame has pretty robust command line arguments, which can be found here. You can pass command line arguments to the Process using the ProcessStartInfo.Arguments property.
上面的代码取自这里< /a>.
根据使用情况,您可以合并
Process.StartInfo
对象,控制ShellExecute
等属性,并将应用程序的任何输出重定向到(例如)日志文件或 UI 组件。要将 exe 与您的项目捆绑在一起,请从 stackoverflow 中查看此问题。就我个人而言,我会采纳第一个建议:
如果您坚持上述方法,则相对引用lame.exe(例如“....\Tools\Lame.exe”)。
最后,根据官方 lame 网站: RareWares 提供了多个编译的 LAME 版本,包括具有以下功能的修改版本特殊功能。
Above code taken from here .
Depending on the usage, you can incorporate a
Process.StartInfo
object, control properties such asShellExecute
and also redirect any output from the application to (say) a log file or UI component.To bundle the exe with your project, check this question from stackoverflow out. Personally, I'd go with the first suggestions:
If you stick to the above method, then reference lame.exe relatively ('....\Tools\Lame.exe' for example).
Finally, according to the official lame site : RareWares offers several compiled LAME versions, including modified versions featuring special functionality.
LAME 有一个 DLL 版本,如果您找不到使用它的 VB 或 C# 示例,我会感到惊讶。检查此讨论线程:http://www.eggheadcafe.com /software/aspnet/31294459/-lameencdll-and-vbnet.aspx
There is a DLL version of LAME, I would be surprised if you can't find a VB or C# example using it. Check this discussion thread: http://www.eggheadcafe.com/software/aspnet/31294459/-lameencdll-and-vbnet.aspx