ストリーミングやプログレッシブダウンロードのビデオのためのVideoViewを使用します
-
20-09-2019 - |
質問
私はVideoViewがビデオを再生するために使用することができます方法について困惑している:ローカルファイルから、プログレッシブダウンロードとストリーミングのように
この例では、ファイルをダウンロードしてローカルに再生することにより、(少なくとも1.5および2.0に)私のために働く。
しかし、それは演奏前にビデオをダウンロードする必要がある:?それはAPIサンプルにVideoViewDemoのように、プログレッシブダウンロード、または単にsetVideoPathまたはsetVideoURIを使用することにより、ストリーミングビデオを再生することが可能である。
VideoViewDemoコードは、ストリーミングにsetVideoURIを用いることが提案されているが、私は私が使用してしなければならないURLの種類は明らかではありませんよ。誰かがVideoViewDemoコードを使用してAndroidのエミュレータにストリーミングすることができ、ビデオのための例のURLを持っていますか?
プログレッシブダウンロードはVideoViewDemoで使用することはできますか?私は上記にリンクされているブログの例で正常に動作URLをsetVideoPathを使用して「申し訳ありませんが、この動画は再生できません」というメッセージを取得します。(これはエミュレータでの問題ですか?私は1.5と2.0を試してみた。)
私は、これまでのところ、本当にこの質問に答える何をオンライン例やドキュメントの多くを見つけないがきます。
解決
これはとビデオを再生することが可能です プログレッシブダウンロード、またはストリーミングすることにより、 単にsetVideoPathを使用しますか、 VideoViewDemo中のようsetVideoURI、 APIのサンプル?
これは、必要があります。それは確かにMediaPlayer
で動作し、VideoView
はちょうどMediaPlayer
周り〜200ラインのラッパーとSurfaceView
です。
ビデオが適切にエンコードされた場合は、VideoViewDemoコードを使用することを提案します ストリーミング用setVideoURIが、私はありませんよ 明確な私はする必要がありますURLの種類 使用します。
http://
とrtsp://
は、作業することができます。
Nexus Oneの上を除いて、誰かがための例のURLを持っています にストリーミングすることができ、ビデオ 使用してAndroidのエミュレータ VideoViewDemoコード?
MediaPlayer
で動作する
編集:実際には、そのリンクは同様にNexus Oneので動作します。
。他のヒント
それはストリームを取得するための要求のためのいくつかのカスタム準備を行うために必要されていない場合にのみ、簡単な例のために動作しますが、。
このチュートリアルでは、オーディオ用の手動ストリーミングエミュレーションの一例を示しているが、動画を再生するには少しリファクタリングすることができます:
ます。http://ブログ.pocketjourney.com / 2008/04/04 /チュートリアル - カスタムメディア・ストリーミングのための-アンドロイド・メディアプレーヤ/ の
(FileDescriptor
を設定する場合、APIは当時から若干変更されたdataSource
を使用してください)。
VideoViewのみ3gpの動画をストリーミングしかし、私はあなたのビデオをストリーミングするためにこのコードをお勧めすることができます。
public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.main);
String videourl = "http://something.com/blah.mp4";
Uri uri = Uri.parse(videourl);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, "video/mp4");
startActivity(intent);
}
または Androidのビデオストリーミングチュートリアルを見るにはここをクリックます。