• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c# - 如何在 ios 上将 wav 音频转换为 mp3/ogg?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 13:21:11 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想为ios制作一个unity3d应用程序,并且需要录制音频

引用:

我找到了前往 record audio 的方法.但是保存的音频格式是wav。我想要一种压缩的音频格式,例如 ogg/mp3

我看了这个 question也是,但是它使用 lame,我可以在 ios 上使用 lame 吗?

我认为有两种方式:

  1. 录制音频,并将其保存在 ogg 中,但我不知道如何在统一引擎上压缩来自麦克风的音频
  2. 使用 SaveWav 如下所示,并将音频文件转换为 ogg 或 mp3,是否有一些统一的库可以做到这一点?并且在ios平台上运行良好吗?

我现在没有想法,希望你的帮助!


附注(20160425)

我试试这个库 NAudio.Lame . lame-naudio

但它不能在unity引擎中使用,你知道如何让它支持unity引擎和任何unity平台吗?还是其他解决方案?

仍然等待您的帮助!

我在 vs 中重建项目时出错

不仅有这个错误,还有很多其他的错误,如何解决?

No matter master or experimental branch. One error is Severity Code Description Project File Line Suppression State Error CS0103 The name 'LibMp3Lame' does not exist in the current context NAudio.Lame \C#Projects\NAudio.Lame\MP3FileWriter.cs 636 Active

enter image description here 这是 master 分支 中的构建错误。

关于CopyTo

的错误

20160416

error CS1061: Type NAudio.Wave.WaveFileReader' does not contain a definition forCopyTo' and no extension method CopyTo' of type NAudio.Wave.WaveFileReader' could be found (are you missing a using directive or an assembly reference?)

你知道怎么解决吗?或其他方法转换为 mp3 文件,而不是下面的代码。

using System.IO;
using NAudio.Wave; 
using NAudio.Lame;

public static class Codec {
    // Convert WAV to MP3 using libmp3lame library
    public static void WaveToMP3(string waveFileName, string mp3FileName, int bitRate = 128)
    {
        using (var reader = new WaveFileReader(waveFileName))
        using (var writer = new LameMP3FileWriter(mp3FileName, reader.WaveFormat, bitRate))
            reader.CopyTo(writer);
    }



Best Answer-推荐答案


NAudio.Lame 上获取库并在您的项目中复制其中一个 dll。示例代码在源页面中提供。

.NET 4.0 之前不存在 CopyTo 方法。您可以编写一个扩展方法,如 answer实现它。只需将以下代码复制到项目中的某个位置即可。

public static class StreamExtensions
{
    public static void CopyTo(this Stream input, Stream output)
    {
        byte[] buffer = new byte[16 * 1024]; // Fairly arbitrary size
        int bytesRead;

        while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
        {
            output.Write(buffer, 0, bytesRead);
        }
    }
}

关于c# - 如何在 ios 上将 wav 音频转换为 mp3/ogg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791499/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap