收藏
回答

录音上传转换问题

windows下微信开发者工具,录音然后上传到服务器通过silk-v3-decoder进行转换成WAV,转换正常,播放正常。

但mac下的微信开发者工具录音后转换报错,点预览,用手机访问录音后上传转换也报错。。请教大神们是什么原因啊?


windows的微信开发者工具录音后上传到服务器转换:

[OK] Convert /zxs/fxzw_pc/apache-tomcat-8.5.16/webapps/shout/voice/RedPacket_20171213143029172.slk to /zxs/fxzw_pc/apache-tomcat-8.5.16/webapps/shout/voice/RedPacket_20171213143029172.wav success, but not a silk v3 encoded file


苹果下的微信开发者工具和手机上录音后上传服务器转换:

[Warning] Convert /zxs/fxzw_pc/apache-tomcat-8.5.16/webapps/shout/voice/RedPacket_20171213140706554.slk false, maybe not a silk v3 encoded file.



$cur_dir/silk/decoder "$1" "$1.pcm" > /dev/null 2>&1

if [ ! -f "$1.pcm" ]; then

        ffmpeg -y -i "$1" -f wav -ar 16000 -ac 1 "${1%.*}.$2" > /dev/null 2>&1 &

        ffmpeg_pid=$!

        while kill -0 "$ffmpeg_pid"; do sleep 1; done > /dev/null 2>&1

        [ -f "${1%.*}.$2" ]&&echo -e "${GREEN}[OK]${RESET} Convert $1 to ${1%.*}.$2 success22222, ${YELLOW}but not a silk v3 encoded file.${RESET}"&&exit

        echo -e "${YELLOW}[Warning]${RESET} Convert $1 false22222, maybe not a silk v3 encoded file."&&exit

fi

echo -e "enter into transfer"

ffmpeg -y -f s16le -ac 1 -i "$1.pcm" -f wav -ar 16000 -b:a 16 -ac 1 "${1%.*}.$2" > /dev/null 2>&1

ffmpeg_pid=$!

while kill -0 "$ffmpeg_pid"; do sleep 1; done > /dev/null 2>&1

rm "$1.pcm"

[ ! -f "${1%.*}.$2" ]&&echo -e "${YELLOW}[Warning]${RESET} Convert $1 false, maybe ffmpeg no format handler for $2."&&exit

echo -e "${GREEN}[OK]${RESET} Convert $1 To ${1%.*}.$2 Finish."

exit



回答关注问题邀请回答
收藏

3 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2017-12-16

    你好,麻烦提供一下使用的开发工具版本。以及帮忙对比一下两个平台录制出来的文件内容差异,我们后续会跟进这个问题。

    2017-12-16
    有用
    回复
  • 囍
    2018-02-01

    你好  请问您问题解决了吗?我这边也遇到一样的问题,用手机和电脑录下来的语音是以silk结尾的,但是文件里面确实加密的base64,我按照网上的做法把文件头去掉,并且解密,改后缀为webm。但是ffmpeg依然无法处理,而且也不能识别!可见 这并不是webm的文件,那么我想把这个文件转为pcm  或者wav应该如何处理呢

    2018-02-01
    有用
    回复
  • SkyBlueF.P.J
    SkyBlueF.P.J
    2017-12-18

    解决了。。用微信开发者工具录音的需要base64解码费SK V3文件。。而手机录的直接是sk v3的录音文件。。。处理方式不一样

    2017-12-18
    有用
    回复
登录 后发表内容