微信小程序-录音文件无法播放问题

本文介绍了如何处理微信小程序开发者工具产生的无法直接播放的silk格式录音文件。通过ffmpeg转换,可以将.silk文件转为.mp3,使得Audition等播放器能正常播放。此外,还提到了使用真机录音作为替代方案,以避免编码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信开发者工具录音问题

使用微信小程序开发者工具录制声音想看看声音质量如何,img

找到其所在目录,类似于下面这样:

  • C:\Users\study\AppData\Local\微信开发者工具\User Data\19f15250c2209a5aea2564e315f41723\WeappSimulator\WeappFileSystem\o6zAJs6fHsuYVMffU7XVspWDZ89g\touristappid\tmp

文件倒是找到了,但这种文件没有办法用一般的播放器播放。
img

比如vlc media player, foobar2000, QQ音乐,包括audition也没办法播放,怪的是Groove, Windows Media Player倒是可以播放。
img

我专门用浏览器测试了下,发现chrome浏览器是可以正常播放的!
img

但IE11不行!
img

搜索后研究吧,发现微信小程序录制的声音其实和一般的录音有点儿不同,录音文件为silk格式,说是silk其实是base64加密后的webm格式。使用MediaInfo查看:
image-20210728163843727

文件肯定是需要用的,尤其是我还需要使用auditon加工,所以必须要解决,方法有二。

ffmpeg转换后使用

非常简单:

ffmpeg -i 微信小程序录制的文件名.aac 转换后的音频文件名.mp3

实例如下:

ffmpeg -i test.aac test.mp3
ffmpeg version git-2020-01-31-62d92a8 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 38.100 / 56. 38.100
  libavcodec     58. 67.100 / 58. 67.100
  libavformat    58. 37.100 / 58. 37.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 72.100 /  7. 72.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, matroska,webm, from 'test.aac':
  Metadata:
    encoder         : Chrome
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp (default)
Stream mapping:
  Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'test.mp3':
  Metadata:
    TSSE            : Lavf58.37.100
    Stream #0:0(eng): Audio: mp3 (libmp3lame), 48000 Hz, mono, fltp (default)
    Metadata:
      encoder         : Lavc58.67.100 libmp3lame
size=      32kB time=00:00:04.03 bitrate=  64.8kbits/s speed= 102x
video:0kB audio:32kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.730399%

从input里面可以看出,#0, matroska,webm, from ‘test.aac’,说明微信小程序开发工具录制时其编码器用的是chrome的。

转换之后,一切正常,audtion能够正常打开。

img

真机录音

还有个办法就是用真机录制文件,编码器用的是手机内置的而不是chrome,能够正常播放!

本文所用微信小程序开发版本为: 1.05.2107221

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱玩的安哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值