ディレクトリ
サポート機能、オーディオトランスコード処理効率の向上とレコーダーH5 GitHubのオープンソースのライブラリは、徐々に需要に追いつくと、オーディオトランスコードセクションへの最近の時間をより多くの便利な機能をサポートするために最適化されたアップグレードされました。
また、IOSハイブリッドアプリケーションはまた、移植を完了し、AndroidとiOSには、デモアプリケーションを持っています。
まず、特性レコーダーH5記録ライブラリー
(1)ブラウザのサポート
- PC:含め、これに限定されないが
Chrome
、Firefox
- アンドロイド:
Chrome
、、Firefox
、Android WebView
(UC腾讯Android X5内核(QQ、微信)
:UC、アリペイ、国内の携帯電話メーカーブラウザのほとんどのシリーズは、次のようなブラウザをサポートしていません) - IOS:
Safari
、微信(JsSDK)
- ハイブリッドアプリケーション:アンドロイド、IOSのアプリケーション終わり提供
JsBridge
にドッキングするためのインタフェースを
(2)関数をサポート
- 提供
mp3
wav
ogg(beta)
webm(beta)
amr(beta)
形式のサポート、任意の形式の拡張をサポート - リアルタイムのフィードバック容積を提供
- 美しい延長のリアルタイム波形図を提供
- 必要なときに、最初の許可を要求記録を開始することができ、許可要求を記録し、個別に設計された機能を記録
mp3
オーディオファイル形式2キロバイト/秒のデフォルトサイズ、許容される音声品質で、音質がさらに小さい1キロバイト/秒に低減することができます- ^ ^ [新規]
mp3
wav
オーディオファイルの録音の終わりにほぼ即時に、「迅速」トランスコードフォーマット、他の側は、リアルタイムで小さな音声クリップファイルのアップロードサーバに記録側のトランスコーディングを実現することができます - ソースコードをコンパイルする新しいIOS(9.0以降)ハイブリッドアプリケーションを提供^^【新規】のAndroid(15+)ハイブリッドアプリのインストールパッケージとソースコード^ [^]提供される豊富な機能のデモ、ブラウザのサポートオンラインテストを提供
第二に、プレビューのスクリーンショットを使用します
(1)移動端H5
(2)IOSハイブリッドのApp
(3)Androidのハイブリッド・アプリケーション
第三に、アプリケーションのシナリオ
- モバイル端末、PC端末H5記録
- モバイル端末、PC端末H5の送信声
- モバイル端末、PC H5エンド音声認識
- モバイル端末、PC端末H5のボイスチャット
第四に、最適化プロセスレコード
(1)なぜ私はアップグレードする必要があり、最適化
レコーダーは、1分の音声トランスコーディングMP3は、エンドPCで100-300msを過ごす、トランスコーディングを記録した後にのみ、短い音声録音の追求、その1回の非同期(のsetTimeoutスライス)を使用するほとんどの時間を書き始めた、モバイルエンド支出600-1500ms、経験は大きな遅延はなく、コードのロジックは簡単です。あなたは(マルチスレッド)のWebワーカーを使用する場合、ほとんど遅延を行ってますが、コードははるかに複雑であると思われることができ、それが使用されていません。
実際の使用の背後にあるが見つかりました:
- やや長めの音声トランスコーディング移動端は、それが音声トランスコーディングMP3 5,10秒の2〜3分かかり、非常に困難です。
- リアルタイムトランスコーディングは非常に迅速に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