AMRのmp3へのフォーマットと直接AMRファイル形式を再生-sunziren

  オリジナルの記事は、ソースを明記してください!


はじめに:

  多くのお客様に高い圧縮率、などAMRオーディオ形式。本論文では、主に第2は、直接のAMRファイル形式を再生する方法で、1は、AMRのmp3形式を有効にする方法で、二つの部分を含んでいます。

1.どのようにmp3ファイル形式にAMRファイル形式へのJavaを使用するには?

      依存関係を必要な変換を達成するために:

    <依存> 
    <groupIdを> ws.schild </ groupIdを>
    <たartifactId> Javeコア</たartifactId>
    <バージョン> 2.4.4 </バージョン>
    </依存関係>
  これはffmpegのの山のために上記のパッケージの性質に依存しますコール・インターフェースは、ご使用の環境がffmpegのインストールするので、それ以外の場合は、単一のjarパッケージは無用であります。あなたがダウンロードしに行くと、あなたのシステムをffmpegのの対応バージョンをインストールし、環境変数を設定し、-versionコマンド通常の使用ffmpegの最終確認することができ、正常にインストールは述べています。
  JARパッケージとffmpegのでは、あなたはそれに次のコード休ませる必要があります。
パブリック ブール amrToMp3(java.io.Fileのソース、java.io.Fileの対象)がスローInputFormatException {
         ブール値ブール= 偽を
        オーディオAudioAttributes = 新しいAudioAttributes(); 
        audio.setCodec( "libmp3lame" ); 
        EncodingAttributesのATTRS = 新しいEncodingAttributes(); 
        (attrs.setFormat "mp3" )。
        attrs.setAudioAttributes(オーディオ); 
        エンコーダエンコーダ = 新しいエンコーダ()。
        試す{ 
            MultimediaObject multimediaObject  = 新しいMultimediaObject(ソース)。
            encoder.encode(multimediaObject、ターゲット、ATTRS)。
            BOOL = ; 
        } キャッチ(例外:IllegalArgumentException | EncoderException電子){ 
            e.printStackTrace(); 
            BOOL = ; 
        } 最後に{
             戻りBOOL。
        } 
    }

   着信ソースコードファイルのパスとターゲットファイルのパス、そして我々は、AMRのmp3に入れます。

   私は地元の通常の使用であったため、このアプローチを採用したかったが、RedHatの7.6のサーバーベースの腕のCPUバージョンに強制され、あなたはそれにffmpegのをインストールしたい私にとっては非常に困難で、最初のダウンロードffmpegのその後、ソースコード、その後、コンパイルし、環境変数を設定し、試行錯誤のプロセスは時間のかなりの部分を過ごすことになりますので、思考を開始するには、AMRは、JSのファイルを再生することはできませんか?

2.どのように直接AMRファイル形式を再生するには?

   AMRは、BASE64に文字列を入れることができたオンライン検索で大量の情報の後と、base64で文字列は、JSで遊ぶことができます。この方法は、制限があり、このです:base64文字列が長すぎる場合、プログラムは、ユーザーからの私たちのAMRレコーディングので、この問題が解決されるように、我々は、最大記録時間を制御することができますので、間違っていることを実行します。

   関連私の主な参照であるJS https://blog.csdn.net/qq_43466173/article/details/86540193侵害の恐れのために、このブログ、そして見つけるのに長い時間のために、オンラインでその声-2.0.jsを見つけ、私がくっつきませんA。

      ここではより多くの使用量は、JSの導入後、言って、最初のページがロードされると、この事初期化:RongIMLib.RongIMVoice.initを();

   その後、ホールドボタンを取得することができ、クリックされたトリガーは、base64文字列AMRターンを渡し、RongIMLib.RongIMVoice.play(BASE64)、このページを(それは必要としないのその部分から始まるbase64文字列の前にカンマを注意してください)ときとき鳴ります。

 あなたは私にはプライベートの手紙になりたい場合。


  これは、思考プロセスAMR二つの問題で、兄弟は理解できますか?

  あなたはそれを見つけることができない場合はまあ、私のマイクロチャネル公共番号「に、次に注意を払うカオスの力が」、下をクリックして、クッキー、[OK]をクリックしますaudiojsをハッシュ、私は書いていない、このjsが、私は著作権ませんでした。

 

 

おすすめ

転載: www.cnblogs.com/sunziren/p/12039740.html