Csharp/C#教程:如何以编程方式将M4A文件转换为MP3或WMA文件?分享


如何以编程方式将M4A文件转换为MP3或WMA文件?

问候,

我正在尝试找到一个免费的.NET库或命令行可执行文件,它允许我将M4A文件转换为MP3或WMA文件。 请帮忙 :)。

找到了!

Convert M4A to MP3 on Windows (without paying)

可能还有其他解决方案,但这是我想要的黄金。

PS我写了一个.NET DLL来处理这个幕后花絮。 这是非常可怕的代码,但它完成了工作。

如果您知道正确的工具,这很简单:

ffmpeg -i infile.m4a tmp.wav lame tmp.wav outfile.mp3 

这是一个批处理版本(对不起Linux / Mac):

 #!/bin/bash n=0 maxjobs=3 for i in *.m4a ; do ffmpeg -i "$i" "$TMP/${i%m4a}wav" (lame "$TMP/${i%m4a}wav" "${i%m4a}mp3" ; rm "$TMP/${i%m4a}wav") & # limit jobs if (( $(($((++n)) % $maxjobs)) == 0 )) ; then wait fi done 

有趣。
您提供的链接指向命令行实用程序。
如果你真的想以编程方式做到这一点,你可能会对我在Rarewares找到的DLL版本感兴趣。 不确定API说明是否附带… ?

从如何将媒体文件转换为WMA文件

 string fileName = @"e:Downtest.wmv"; DsConvert.ToWma(fileName, fileName + ".wma", DsConvert.WmaProfile.Stereo128); 

对于UWP

上述就是C#学习教程:如何以编程方式将M4A文件转换为MP3或WMA文件?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public class ConvertToMp3Manager { public PrepareTranscodeResult PrepareTranscode = null; public MediaTranscoder TransCoder = null; public StorageFile SourceAudio { get; set; } public StorageFile DestinationAudio { get; set; } public AudioFormat AudioFormat { get; set; } public AudioEncodingQuality AudioQuality { get; set; } private MediaEncodingProfile profile = null; public ConvertToMp3Manager(StorageFile sourceAudio, StorageFile destinationAudio, AudioFormat AudioType = AudioFormat.MP3, AudioEncodingQuality audioEncodingQuality = AudioEncodingQuality.High) { if (sourceAudio == null || destinationAudio == null) throw new ArgumentNullException("sourceAudio and destinationAudio cannot be null"); switch (AudioType) { case AudioFormat.AAC: case AudioFormat.M4A: profile = MediaEncodingProfile.CreateM4a(audioEncodingQuality); break; case AudioFormat.MP3: profile = MediaEncodingProfile.CreateMp3(audioEncodingQuality); break; case AudioFormat.WMA: profile = MediaEncodingProfile.CreateWma(audioEncodingQuality); break; } this.SourceAudio = sourceAudio; this.DestinationAudio = destinationAudio; this.AudioFormat = AudioType; this.AudioQuality = audioEncodingQuality; this.TransCoder = new MediaTranscoder(); } ///  /// Return true if audio can be transcoded ///  ///  public async Task ConvertAudioAsync() { PrepareTranscode = await this.TransCoder.PrepareFileTranscodeAsync(this.SourceAudio, this.DestinationAudio, profile); if (PrepareTranscode.CanTranscode) { var transcodeOp = PrepareTranscode.TranscodeAsync(); return true; } else return false; } public static async Task ConvertAudioAsync(StorageFile sourceAudio, StorageFile destinationAudio, AudioFormat AudioType = AudioFormat.MP3, AudioEncodingQuality audioEncodingQuality = AudioEncodingQuality.High) { ConvertToMp3Manager convertToMp3Manager = new ConvertToMp3Manager(sourceAudio, destinationAudio, AudioType, audioEncodingQuality); var success = await convertToMp3Manager.ConvertAudioAsync(); return success; } } public enum AudioFormat { MP3, AAC, M4A, WMA } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1024554.html

(0)
上一篇 2022年1月7日
下一篇 2022年1月7日

精彩推荐