1

重複の可能性:
Blackberry JDE で InputStream ビデオを再生する

これを行うためのさまざまな方法を見てきましたが、どれも具体的ではありません (そして、それらを実装する私の試みはすべて失敗しました)。

Blackberry で http ビデオをストリーミングする既知の方法はありますか? サンプルコード、チュートリアル、何か?

私が見つけた最も近いものは次のとおりです

上記のチュートリアルですが、いくつかの問題があります。

まず、提供されるサンプル コードはローカル ビデオ用です (正常に再生できます)。「任意の有効な URL」が HTTP ストリーミングで機能すると主張していますが、既知の適切な .sgp URL を提供しても何も起こらないため、これは明らかに誤りです。

createPlayer メソッドには InputStream を受け入れる機能があり、有望に思えたので、サンプル コードを次の行に変更しました。

 // player = Manager.createPlayer("file:///SDCard/eggs.3gp");
            HttpConnection c = (HttpConnection)Connector.open("http://good-3gp-videos.com/viapic/e39903da6e5c1e1c5d572a49a88a99e6.3gp");
            int rc = c.getResponseCode();
            if (rc != HttpConnection.HTTP_OK) {
                throw new IOException("HTTP response code: " + rc);
            }

             player = Manager.createPlayer(c.openInputStream(), null);
            player.realize();

文字列から作成された以前のプレーヤーの代わりに (私のソースではコメントアウトされています)。

ただし、これによりまったく同じ問題が発生します(具体的には、ビデオを再生しようとすると、「JUMエラー104:キャッチされていないNullPointer例外」が表示されます。)

URL から読み取ろうとする両方の方法で、Null 応答が返されるようです。

これは初めての Blackberry アプリなので、デバッグ方法にあまり慣れていません (たとえば、サンプル コードで System.out.println() 呼び出しが何度かありますが、コンソールに表示されることはありません)。 .

コードをデバッグするにはどうすればよいですか? あるいは、HTTP ビデオをストリーミングする正しい方法は何ですか?


コードを少し変更する (Stream Connection にキャストを追加する) と、null ポインター エラーが解消されますが、何もクラッシュせず、例外もありませんが、まだストリーミングされません。

シミュレーターはストリーミングできないと確かに聞いたことがありますが、コードを電話に入れることもできません。

さらに紛らわしいのは、私のシミュレーターも実際の電話も m.youtube から RTSP をストリーミングできないことです。サーバー/コンテンツが見つかりませんというエラーが表示されます。

職場のファイアウォールが何か重要なことを妨げている可能性はありますか?

4

2 に答える 2

0

ビデオを再生するための適切なコーデックは、BlackberrySimulatorにバンドルされている必要はありません。これは間違いなくSunのJavaMEエミュレーターの場合です。また、提供したリンクは実際にRTSPストリーミングを実行します。また、ストリーミングをサポートするコーデック(この場合はsamr / H.263)には、通常、シミュレーターが付属していません。

コードに問題はありません。それは電話でうまく再生する必要があります。私はそれをテストして、それがどうなるかをあなたに知らせます-私は現在BB電話にアクセスできません。

于 2009-09-03T04:59:55.057 に答える
0

MDS を実行しているシミュレーターでこれを行っていますか? 起動時に MDS を起動しない場合は、URL に「;deviceSide=True」を追加する必要がある場合があります。また、埋め込みビデオ プレーヤーは 4.3 までサポートされていなかったと思います。4.3+ JDE を試してみましたか?

于 2009-09-02T16:17:50.870 に答える