请教: C#微信 speex 如何转码成可播放音频 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a364378948
V2EX    .NET

请教: C#微信 speex 如何转码成可播放音频

  •  
  •   a364378948 2018-02-24 10:21:26 +08:00 4895 次点击
    这是一个创建于 2787 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微信录音高清晰接口下载的文件是 speex 格式,提供的解码库是 C 的代码。不知道在.net 里如何调用。,,有大神成功转过吗。

    12 条回复    2018-02-25 11:32:26 +08:00
    noli
        1
    noli  
       2018-02-24 10:31:11 +08:00
    a364378948
        2
    a364378948  
    OP
       2018-02-24 10:40:19 +08:00
    @noli 老哥,你的意思就是把微信的 C 封装成 DLL 让 VS 动态调用是吧。。但是微信的 C 的代码如何封装我都不知道,,真的不懂 C。。。
    noli
        3
    noli  
       2018-02-24 11:10:37 +08:00
    怎么把 C 代码编译成 DLL 或者别的什么的,是一件即使不会写代码的人都能做到的事情吧。
    基本上就是按步骤复制粘贴。

    你没试过,你怎么知道自己做不到?
    raphael008
        4
    raphael008  
       2018-02-24 15:51:18 +08:00
    噫,微信和别人聊天的语音难道可以导出的吗?
    keller
        5
    keller  
       2018-02-24 16:49:11 +08:00
    自己编译 speex_decode
    然后在 C#里面 cmd
    cmd.exe speex_decode_filepath input.speex output.mp3
    keller
        6
    keller  
       2018-02-24 16:53:37 +08:00
    不懂 C# 看了一下 应该可以这样

    System.Diagnostics.Process exep = new System.Diagnostics.Process();
    exep.StartInfo.FileName = speex_decode.exe;
    exep.StartInfo.Arguments = "input.speex output.mp3";
    exep.StartInfo.CreateNoWindow = true;
    exep.StartInfo.UseShellExecute = false;
    exep.Start();
    exep.WaitForExit();
    JerryCha
        7
    JerryCha  
       2018-02-24 17:03:24 +08:00
    备选方案:读 C 代码理解过程然后自己造轮子
    JerryCha
        8
    JerryCha  
       2018-02-24 17:05:51 +08:00
    要不就看看 github 里有没有现成的 C#库,https://github.com/aijingsun6/NSpeex 不知道这个是不是你需要的
    a364378948
        9
    a364378948  
    OP
       2018-02-24 17:38:08 +08:00
    @keller 其实后面无论是调用 DLL 还是执行命令我都会的。。就是微信官方的解码库我生成 DLL 的过程中好多错误,但是不知道 C 如何修正错误。
    fgodt
        10
    fgodt  
       2018-02-24 21:45:24 +08:00
    你贴一下错误提示啊 不然有点难帮你,你先确定自己把 speex 的库编译出来 然后再去按照微信的例子编译自己 c#要调用的库
    a364378948
        11
    a364378948  
    OP
       2018-02-25 08:37:10 +08:00
    @fgodt http://cstsghsy.vhost4.cnvp.com.cn/1.png 错误图是这样的。我就是把微信提供的解码库文件放进去,然后方法定义一个 SpeexDecode 封装后供 C#调用。
    fgodt
        12
    fgodt  
       2018-02-25 11:32:26 +08:00
    你没有编译 speex 这个库,微信没有提供这个库的实现 你要去 speex 官网下载代码先编译出来再添加引用到你的项目
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1380 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 16:38/a> PVG 00:38 LAX 09:38 JFK 12:38
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86