1

これがvedioビューでURLを再生するためのコードです

String urlVideo = "http://www.youtube.com/cp/vjVQa1PpcFPLrLo9hkR90zKx_XHP5kMNaNb-_bE3v0s=";
    VideoView video = (VideoView) findViewById(R.id.videoView1);
    Log.d("You", urlVideo);
    video.setVideoURI(Uri.parse(urlVideo));
    MediaController mc = new MediaController(this);
    video.setMediaController(mc);
    video.requestFocus();
    video.start();
    mc.show();

エラーが発生し、ビデオを開始できません

これがlogcatメッセージです

 ERROR/MediaPlayer(1765): error (1, -2147483648)

エラー/MediaPlayer(1765):エラー(1、-2147483648)デバッグ/ビデオビュー(1765):エラー:1、-2147483648

  1. シミュレータとターゲットOSは2.2です。
  2. これはシミュレータでテストされています。

このコードはデバイス上で正しく実行できますか?エラーコードとエラーの背後にある理由を説明できますか?

編集:あなたの提案に感謝します。実際、私のアプリケーションは独自のデザインでビデオを再生する必要があります。あなたの提案やWebで見た他の投稿によると、希望どおりに再生できないため、Webで開く必要があります。見る。ありがとう...

4

1 に答える 1

5

正確なエラーコードはMEDIA_ERROR_UNKNOWNです(不明なエラー...ここで非常に役立ちます)。

失敗する理由は、使用しているリンクが直接Flashビデオに移動するためです。ダイアンがこの投稿に簡潔に書いているように、FlashはVideoViewではサポートされていません...

そのビデオを表示するための最良の方法は、おそらくそれをインテントにパッケージ化し、ブラウザまたはYouTubeアプリのいずれかに再生させることです。ユーザーがSkyfireのような他のFlash対応アプリを持っている場合は、選択肢にも表示されるはずです。ただし、これは通常、動画のウォッチリンクでのみ機能するため、この場合はhttp://www.youtube.com/watch?v=fX_wt7cPCU4です。

String videoUrl = "http://www.youtube.com/watch?v=fX_wt7cPCU4";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(videoUrl));
startActivity(Intent.createChooser(intent, "Play Video Using");

YouTubeアプリがインストールされているデバイスでは、これがオプションとして表示されますが、何らかの理由ですべてのYouTube動画をモバイルアプリで再生できるわけではありません。

お役に立てば幸いです。

于 2011-02-04T16:09:29.773 に答える