2009-09-23 10 views
7

私はMP3ファイルの形式でオーディオをオンラインにしていますが、私のJ2MEアプリケーションからオーディオをストリーミングするにはどうすればいいですか?ウェブサイトは、再生するオーディオのリストをアプリケーションに与え、オーディオを選択してからウェブサイトからストリーミングする必要があります。J2MEを使用したオーディオストリーミング

サンプルコードはいいと思います。ありがとう

答えて

2

J2MEはHTTPでこれを行うことはできません。再生開始前にオーディオ全体をダウンロードします。あなたが必要とするものは、代わりにRTPサーバ上でホストすることです。その後、J2MEはオーディオをストリームします。

これがうまくいかない場合は、この種の独自のライブラリを持つデバイスを探しているかもしれません。

3

電話メーカーがJSR-135(MIDletでオーディオを再生するAPIを提供する仕様)の実装方法を制御しないため、MIDletがオーディオデータをストリームする確実な方法はありません。

技術的には、javax.microedition.media.Manager.createPlayer(String aUrl)を使用してJavaメディアプレーヤーを作成すると、JSR-135実装でURLにあるオーディオデータがストリームされます。

残念なことに、非常に単純なオーディオコンテンツ(mp3よりも多くの場合wavよりも頻繁に)のストリーミングは、ネットワーク接続を介して通常サポートされますが、多くの場合、createPlayer(String aUrl)を呼び出すと、

おそらくメーカーがより完全なオーディオ/ネットワークモジュールをJSR-135実装に組み込むことができたデバイスがありますが、それらを見つけるには多くのテストが必要になるでしょう。

2

これを行うより良い方法があります。 独自のInputStream拡張クラスを作成します。 と言うと、MyHTTPInputStreamは、すべてのメソッドを実装します。 PlayerクラスがInputStream.read()メソッドを呼び出すときに、HTTPからデータを取得してバッファに格納するスレッドを実行し、バッファからデータを提供します。

このクラスをPlayerに実装する前に、MyHTTPInputStreamを電話機のメモリまたはアドオンカードに保存されたダミーのWAVファイルを使用してテストしてください。したがって、どのメソッドがInputStreamから呼び出されているかを知ることができ、クラスPlayerによって行われたメソッド呼び出しのシーケンスを知ることができます。

関連する問題