最適レコーダーH5記録:サーバーにアップロードすることができます側のエッジトランスコーディングを記録し、AndroidのIOSハイブリッドアプリケーションを提供するために、マイクロチャンネルソースをサポートしています

サポート機能、オーディオトランスコード処理効率の向上とレコーダーH5 GitHubのオープンソースのライブラリは、徐々に需要に追いつくと、オーディオトランスコードセクションへの最近の時間をより多くの便利な機能をサポートするために最適化されたアップグレードされました。
また、IOSハイブリッドアプリケーションはまた、移植を完了し、AndroidとiOSには、デモアプリケーションを持っています。

オンラインテスト、GitHubの住所:https://github.com/xiangyuecn/Recorder

まず、特性レコーダーH5記録ライブラリー

(1)ブラウザのサポート

  1. PC:含め、これに限定されないがChromeFirefox
  2. アンドロイド:Chrome、、 FirefoxAndroid WebView(UC腾讯Android X5内核(QQ、微信) :UC、アリペイ、国内の携帯電話メーカーブラウザのほとんどのシリーズは、次のようなブラウザをサポートしていません)
  3. IOS:Safari微信(JsSDK)
  4. ハイブリッドアプリケーション:アンドロイド、IOSのアプリケーション終わり提供JsBridgeにドッキングするためのインタフェースを

(2)関数をサポート

  1. 提供mp3 wav ogg(beta) webm(beta) amr(beta)形式のサポート、任意の形式の拡張をサポート
  2. リアルタイムのフィードバック容積を提供
  3. 美しい延長のリアルタイム波形図を提供
  4. 必要なときに、最初の許可を要求記録を開始することができ、許可要求を記録し、個別に設計された機能を記録
  5. mp3オーディオファイル形式2キロバイト/秒のデフォルトサイズ、許容される音声品質で、音質がさらに小さい1キロバイト/秒に低減することができます
  6. ^ ^ [新規] mp3 wavオーディオファイルの録音の終わりにほぼ即時に、「迅速」トランスコードフォーマット、他の側は、リアルタイムで小さな音声クリップファイルのアップロードサーバに記録側のトランスコーディングを実現することができます
  7. ソースコードをコンパイルする新しいIOS(9.0以降)ハイブリッドアプリケーションを提供^^【新規】のAndroid(15+)ハイブリッドアプリのインストールパッケージとソースコード^ [^]提供される豊富な機能のデモ、ブラウザのサポートオンラインテストを提供

第二に、プレビューのスクリーンショットを使用します

(1)移動端H5

移動端のH5

(2)IOSハイブリッドのApp

IOSハイブリッドのApp

(3)Androidのハイブリッド・アプリケーション

Androidのハイブリッド・アプリケーション

第三に、アプリケーションのシナリオ

  • モバイル端末、PC端末H5記録
  • モバイル端末、PC端末H5の送信声
  • モバイル端末、PC H5エンド音声認識
  • モバイル端末、PC端末H5のボイスチャット

第四に、最適化プロセスレコード

(1)なぜ私はアップグレードする必要があり、最適化

レコーダーは、1分の音声トランスコーディングMP3は、エンドPCで100-300msを過ごす、トランスコーディングを記録した後にのみ、短い音声録音の追求、その1回の非同期(のsetTimeoutスライス)を使用するほとんどの時間を書き始めた、モバイルエンド支出600-1500ms、経験は大きな遅延はなく、コードのロジックは簡単です。あなたは(マルチスレッド)のWebワーカーを使用する場合、ほとんど遅延を行ってますが、コードははるかに複雑であると思われることができ、それが使用されていません。

実際の使用の背後にあるが見つかりました:

  1. やや長めの音声トランスコーディング移動端は、それが音声トランスコーディングMP3 5,10秒の2〜3分かかり、非常に困難です。
  2. リアルタイムトランスコーディングは非常に迅速にWAV形式自体をエンコードに加えて、サーバーに送信された場合は、コードがエンコード時のデータを正しく受信できない記録、あまりにも多くの時間を占めているため、他の形式は、常に、カトンの記録になります。

上記の問題に基づいて、唯一のWebワーカーが(マルチスレッド)を解決することができるようです。

(2)トランスコーディングのWebワーカーを加速し始めました

「アクセラ」は引用符で囲まれている、実際には、トランスコーディング速度はまだ同じ速度ですが、バックグラウンドスレッドへのトランスコーディング、ページだけの時間を取らないと、Webワーカーのサポートを開きました。

トランスコーディングを記録しながら、しかし、それはトランスコーディングは、記録の終わりに集まるのを待つことなく、行うことができ、その結果は記録の最後に録音した音声、トランスコーディングが瞬時にどのくらいのことは問題です。

また、小さな声クリップにトランスコードをリアルタイムで行うことが完璧にできるサーバにアップロードされ、トランスコードページので、時間がかかることはありません、との記録は、通常のデータ、無カトンを受け取ることができます。

(3)残りの質問

サポート・レコードへのエッジトランスコーディングを、単に、ウェブワーカーをサポートして開き、支持オーディオエンコーダを持っている必要がありません。エンコーダは、唯一の完全なPCMデータは、1回のオーディオファイル、ローテーションの一部の期間、PCMへのストリーミングトランスコーディングをサポートするために、ソースエンコーダを修正する必要性にトランスコードされることができます。

しかし、他のフォーマットは、ソースエンコーダをサポートしていないよう変更されません; WAV形式以外、最適化せずに、驚くほど速いwavファイルのエンコード速度ではありません幸いにもMP3エンコーダはストリーミングが使用できるように変更する必要はありませんサポートしていますカレー問題。

他のフォーマットへだから今のWebワーカーを使ってMP3形式は、MP3やWAVフォーマットがサポートされ、記録されているエッジトランスコーディングは、まだ非同期(setTimeoutをスライス)トランスコーディングの終わりを記録しています。

第五に、ハイブリッドアプリケーションの感があります

自体無意味(または純粋に余分)ですが、フラストレーションがIOSのすべての種類をサポートしていません:非公式のブラウザはサポートしていない、WebViewの内のアプリケーションがサポートしていませんが、Androidはサポートのすべての種類があり、純粋にシャトルH5されているだろう(ハイブリッドアプリケーションに含まれる)最も便利である、Appleが戻って保持する方法はありません。

だからハイブリッドアプリのIOSに互換性はなく、AndroidやIOSの多くはシンプルであるかもしれないもの達成しているかどうか、JS側(良い問題スローポット)の簡素化の複雑さを与えることができます上で行う、別のAndroidとiOSのオーディオオーディオトランスコーディングJSのバージョンを使用して、更新することが容易で、かつ困難コーディング大幅ロジックアプリが簡素化、アンドロイドは、したがって、ハイブリッドAppの端末サポートを提供します。

第六に、より多くのサポート

問題またはメッセージを上げることがあり、使用中に何らかの問題がある場合、すべてのソースコード内にありGitHubのリポジトリ、詳細な紹介とデモを使用するには、交換基の使用があります。劇は、倉庫内の報酬、2次元コードをサポートするために良いだろう場合。母ねえ〜GitHubの住所:https://github.com/xiangyuecn/Recorder

おすすめ

転載: www.cnblogs.com/xiangyuecn/p/11410312.html