2011-07-19 16 views
2

次のアクティビティにStringを渡す主なアクティビティがあります。次のアクティビティはそのストリングをURLとして使用してビデオを開きます。悲しいことに、ビデオは再生されません。VideoViewエラー、再生中ではありません

ここに私のコードのサンプルです:

Bundle extras = getIntent().getExtras(); 
String MovieLink = (String) extras.get("video"); 
System.out.println(MovieLink); 
VideoView videoView = (VideoView) findViewById(R.id.video); 
MediaController mediaController = new MediaController(this); 
mediaController.setAnchorView(videoView); 
Uri video = Uri.parse(MovieLink); 
videoView.setMediaController(mediaController); 
videoView.setVideoURI(video); 
videoView.start(); 

そして、与えられたエラー:

07-19 15:31:21.857: INFO/StagefrightPlayer(85): setDataSource('landscape_1003_1_m601') 
07-19 15:31:21.867: ERROR/MediaPlayer(10132): error (1, -2147483648) 
07-19 15:31:21.907: ERROR/MediaPlayer(10132): Error (1,-2147483648) 
07-19 15:31:21.907: DEBUG/VideoView(10132): Error: 1,-2147483648 
07-19 15:31:22.347: INFO/ActivityManager(126): Displayed com.?.?/.VideoPlayer: +540ms 
+0

あなたがビデオフォーマットについての情報を持っていますがですか?ここでhttp://developer.android.com/guide/appendix/media-formats.htmlはどのフォーマットが動作しているかの情報を見つけることができます。また、それはデバイスに依存します。 – ania

+0

デバイスはMotorola Xoomであり、ファイル自体は正常に動作します。しかし、アプリケーションで統合されている場合、それは動作しません:)それはmp4ファイルであり、私はすでにそれについて研究しました。 – kevin

+0

私のエミュレータでビデオを再生するコードは、多分MovieLinkで問題を探すでしょう - それを印刷して、どのように見えますか?私がこのコードに自分のリンクを入れたら、それは大丈夫です。 「ファイルそのものがうまくいく」と言えば、他のプレーヤーでビデオを再生しているということですか?たぶん追加のエンコード方法がありますか? – ania

答えて

2

が最後で、私の問題を修正!

ここに私の結果のコード:)

super.onCreate(savedInstanceState); 
    setContentView(R.layout.video); 

    Resources res = getResources(); 

    Bundle extras = getIntent().getExtras(); 
    String MovieLink = (String) extras.get("video"); 
    VideoView vd = (VideoView) findViewById(R.id.video); 
    String tmp = MovieLink.replace(".mp4", ""); 
    int movieID = res.getIdentifier(tmp, "raw", getPackageName()); 
    Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" 
      + movieID); 
    MediaController mc = new MediaController(this); 
    vd.setMediaController(mc); 

    vd.setVideoURI(uri); 
    vd.start(); 
関連する問題