28

ストリーミングを使用して YouTube 動画を再生するアプリケーションを作成しています。

最初の方法:

GData API を使用して、ビデオへの RTSP URL を取得しています。RTSP URL を再生するコードは次のとおりです。

   VideoView mVideoView = new VideoView(this);
   setContentView(mVideoView);
   mVideoView.setVideoURI(Uri.parse("rtsp://rtsp2.youtube.com/CiILENy73wIaGQkDwpjrUxOWQBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"));
   mVideoView.start();

しかし、G1 デバイスとエミュレーターの両方でエラーがスローされます (メーリング リストによると、エミュレーターにはファイアウォールの問題があります)。エラー メッセージは次のとおりです。

ERROR/PlayerDriver(35): コマンド PLAYER_INIT がエラーまたは情報 PVMFFailure で完了しました

2 番目の方法:

http://www.youtube.com/get_video?v= &t=<>&<>..から 3gp ファイルのパスを取得するハック方法 ファイル パスを取得した後、setVideoURI を呼び出すと正常に再生されます。しかし、それは要件を達成するためのハックな方法です。Youtubeアプリもチェックしましたが、YouTubeのURLを再生するハック方法も行います.(logcatでチェック)

VideoView から MediaPlayer に変更しようとしましたが、エラーに変化はありません。

これを行う「クリーン」な方法はありますか?

考えを教えてください。

4

8 に答える 8

2

http プロトコルの代わりに rtsp プロトコルを解析できないため、Uri.parse が「null」を返すことがあります。

Log in logcatUri.parse(rtspURL).toString()で確認すると、何も書かれていないことがわかります。または作るだけLog.d("tag", Uri.parse);で同じものが返されます。

Uri を解析 (作成) する別の方法を見つけてみてください。

私はそれを試して実行します:

String urlVideo = <your rtspURL>
VideoView video = (VideoView)findViewById(R.id.VideoView01);
Log.d(tag , urlVideo);
video.setVideoURI(Uri.parse(urlVideo));
MediaController mc = new MediaController(this);
video.setMediaController(mc);
video.requestFocus();
video.start();
mc.show();
于 2010-05-28T10:45:42.393 に答える
1

YoutubeAPIに目を向ける

これもyoutubeアプリを使っていると思います(これは欲しくないです)

しかし、参照するだけで、それを解決するためのいくつかの鍵が見つかるかもしれません

于 2013-01-07T09:12:13.440 に答える
1

汚い方法がまったく機能していることに感銘を受けました!実用的な解決策がある場合は、それを使用してください。SDKでRTSPストリーミングを機能させるためのクリーンな方法はまだないと思います。

于 2009-06-17T19:45:54.110 に答える
1

非常によく似た問題に直面しました。

現時点では、プロジェクトの最初のステップにあり、ビデオビューを簡単に機能させようとしています。ここからデータを取得しています: http://gdata.youtube.com/demo/そして、すべての動画リンクをテストしています。

RTSP 3GP ビデオは本当に本当に低品質のビデオです....そして mp4 (高品質) ビデオにアクセスする方法はありません。MP4ストリームはプレミアム開発者だけが利用できると思うので、それを機能させる方法が本当にわかりません....

于 2012-04-28T10:25:37.520 に答える
0

次のコードでYouTube動画を表示しました。お役に立てば幸いですが、どうすれば改善できるか教えてください。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    startActivity(new Intent(Intent.ACTION_VIEW, 
                  Uri.parse("http://www.youtube.com/watch?v=...")));
}

public void onPrepared(MediaPlayer mp) {
     // TODO Auto-generated method stub
}
于 2011-06-18T06:35:31.957 に答える
0

インターネットにアクセスできますか?そうでない場合は、マニフェスト ファイルにインターネット アクセス許可を追加してください。

 <uses-permission android:name="android.permission.INTERNET" />

また、次の URI を試してください:

rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

http://www.wowza.com/_h264/BigBuckBunny_175k.mov
于 2014-12-31T18:49:45.903 に答える
0

ビデオのヘッダーは、Android で動作することを示しています。だから、実験する良いビデオリンクを試してみてください. ここに私が使用するものがあります:

rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov

Nexus と Samsung のタブレットで問題なく動作します。

于 2014-07-02T20:53:18.990 に答える