Javascript や jQuery で mp3 や wav などを m4r 形式に変換することはできますか?
3 に答える
ファイルの形式を変更できるライブラリがあるとしましょう。
FileAPI
また、アプリケーションが実装されている現在のブラウザでのみ動作する必要がある、またはアップロードされたファイルにアクセスできると仮定しましょう(または同等のテクノロジを使用しない限り、FileReference
それらにアクセスすることはできません)。FileAPI
FileReference
Flash
Java Applets
JavaScriptはローカルファイルシステムへのアクセスを許可されていないため、出力ファイルをユーザーに書き戻すことはできません。
唯一の解決策は、変換されたファイルをサーバーに送信し、サーバーが強制ダウンロードディレクティブを使用してファイルを返送することです。これにより、ユーザーは結果をダウンロードするように求められます。
さて、変換(またはネイティブJavaScript)が可能なライブラリがあったかどうかに戻りましょう...私は何も聞いたことがありません。構築することは不可能ではありませんが、実用的ではなく、あまり高速に実行されません。
編集:
Node.jsを忘れないでください!
これは、GoogleChromeのV8JavaScriptインタープリター/コンパイラーを使用するバックエンドサーバーです。また、JavaScriptをバックエンドスクリプトエンジンとして実行します。
ファイルシステム(またはその他のバックエンドシステム)を使用し、JavaScriptを使用している場合は、ファイルシステム、データベース、およびすべてにアクセスできます。ライブラリも使用できます。JavaScriptで記述されているか、Node.jsとのインターフェースにリンクされている他の言語で記述されたライブラリのいずれか。
編集2:
完全にJavaScriptで書かれたPCエミュレーターがあります。必要に応じて、バイナリ実行可能ファイルを実行します。それはJSLinuxと呼ばれています。
特に気難しいと感じている場合は、ffmpeg
バイナリ実行可能ファイル(静的リンクでコンパイルされたもの)を入手できます。そして、それをuuencodeされた文字列としてアプリケーションコードに埋め込み、JSLinuxを使用してコマンドを実行し、結果を取得します。
実際、最新の js テクノロジを使用してクライアントでこれを行うことは可能です。Web ワーカー スレッドは、バックグラウンドで作業を行うことができます。少なくとも Firefox と Chrome では、新しいW3C ファイル APIを使用して、ファイルの読み取り (「メモリへのアップロード」) と書き込み (「メモリからのダウンロード」) も可能です。こちらを参照してください。
最終的にはプレーンなJavaScriptであるGoogleのGWTを使用して、クライアントからドラッグアンドドロップでファイルを読み取ることができたので、「ネイティブ」に実行することも可能でなければなりません。
それに加えて、GUI のブロックを回避するために、もちろん会話アルゴリズムを JavaScript Web ワーカーに実装する必要があります。これは最も難しい部分ですが、不可能ではありません。
これを行うにはバックエンドが必要です。FFmpegのPHPExtensionを調べることをお勧めします。