java - 微信公众号开发语言转码问题
黄舟
黄舟 2017-04-17 17:30:38
0
1
748

微信服务号开发,使用jssdk上传语音,然后再利用下载接口将语音下载到本地服务器为amr格式,ios无法直接播放,所以在网上找了实现转码功能的代码.
但是在使用ffmpeg转码为MP3格式后,转码后的文件可以在安卓端,
PC端正常使用,在ios上无法正常播放,点击播放,没有声音,这问题该怎么解决呢,还是我转码中有什么问题?

使用java做为开发语言,以下是实现转码功能的代码

 /**
  * @param nowPath       转码前文件保存路径
  * @param afterPath   转码后文件保存路径
  * @param choice   是否删除原文件,true为删除   
  */
 public static void convertVoice(String nowPath,String afterPath,boolean choice) {
        File source = new File(nowPath);
        File target = new File(afterPath);
        AudioAttributes audio = new AudioAttributes();
        Encoder encoder = new Encoder();

        audio.setCodec("libmp3lame");
        EncodingAttributes attrs = new EncodingAttributes();
        attrs.setFormat("mp3");
        attrs.setAudioAttributes(audio);
        
        try {
            encoder.encode(source, target, attrs);
        } catch (IllegalArgumentException e) {
            //e.printStackTrace();
        } catch (InputFormatException e) {
            //e.printStackTrace();
        } catch (EncoderException e) {
            //e.printStackTrace();
        }
        //如果传入布尔类型为真,删除原文件
        if(choice){
            source.delete();
        }
    }
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(1)
Ty80

Je ne sais pas si vous faites référence à la lecture sur iOS à l'aide de la balise audio h5 ou d'une autre méthode.
S'il s'agit de h5, assurez-vous d'abord que le navigateur que vous utilisez pour ouvrir cette page de lecture prend en charge h5 (celui fourni avec WeChat le prend en charge). S'il ne peut toujours pas être lu, vérifiez le fichier MP3 pour en trouver la raison.
FFmpeg a des exigences différentes selon les serveurs. Si votre serveur est Linux, veuillez vous assurer que le nombre de bits ffmeg est le même que le nombre de bits Linux et que la version du noyau Linux doit être 2.6.32 ou supérieure.
Enfin, il n'est pas recommandé de supprimer le fichier source. La qualité sonore du mp3 converti par ffmpeg est très mauvaise. Le fichier source peut être enregistré au format amr et utilisé pour les messages vocaux de groupe ou la réponse passive aux messages vocaux. .
Ci-joint un article sur ffmpeg : http://linjie.org/2015/08/06/amr格式转mp3格式-完美解决Linux下转换0K问题/

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal