2011-01-06 20 views
12

ボタンからリモートのビデオファイルのURLを開くにはどうすればブラウザウィンドウを開くことなく内部のMediaPlayerで再生できますか?Android Help:ブラウザウィンドウを開くことなく、MediaPlayerで再生するためにリモートのVideoファイルURLを開くにはどうすればよいですか?

動画は正常に再生されますが、常にブラウザウィンドウが開きます。これは迷惑です。

これは私がすでに使っているものですが、ブラウザウィンドウを最初に開いていなくてもmediaplayerを起動することは可能です。

ホープ誰かがIntentにMIMEタイプを追加

おかげ ルーシー

final Button button = (Button) findViewById(R.id.play); 
    button.setOnClickListener(new Button.OnClickListener() { 
     public void onClick(View v) { 
      // Perform action on click 
      Uri uri = Uri.parse("http://domain.com/videofile.mp4"); 
      Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

      startActivity(intent); 

      } 

    }); 
} 

答えて

10

てみてくださいを助けることができます。今、あなたはHTTP HEADを行うブラウザにルーティングし、MIMEタイプを決定し、それを適切なアプリケーションにルーティングします。 MIMEタイプを自分で入力すると、ブラウザのステップをスキップする必要があります。

+0

ありがとう、あなたはにそれをコーディングする方法私を見ることができてください私はそれをどうやって行うのかよく分かりません。ルーシー – lucy

+1

@lucy: 'Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri、 "..."); 'ここで' ... 'はMP4 MIMEタイプ(' video/mp4'、多分)です。 – CommonsWare

+0

@CommonsWare私はこのように使いました:Intent intent = new Intent(Intent。 ACTION_VIEW); \t \t \t \t \t intent.setDataAndType(Uri.parse( "https://javmed-prod.s3.amazonaws.com/63351db3788f4393b49d4d701181c7c7.mp4")、 "ビデオ/ MP4")。 \t \t \t \t \t startActivity(インテント); .. ActivityNotFoundも取得しました。「ビデオ/ *」も試してみました。 – MKJParekh

21

はこれを試してみてください:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse(videoPath), "video/mp4"); 
startActivity(intent); 
+1

何らかの理由でsetDataAndType()を2行に分割すると、私のために機能しません。 intent.SetData(Uri.parse(videoPath)); intent.SetType( "video/mp4"); ...大したことではありませんが、他の誰かが同じ問題を抱えている場合には、私はそれを言いたいと思いました。 –

1

あなたが意図にvideoUrlとMIMEタイプ(video/mp4)を設定する必要があり、すなわち:

String videoUrl = "http://videosite/myvideo.mp4"; 
Intent playVideo = new Intent(Intent.ACTION_VIEW); 
playVideo.setDataAndType(Uri.parse(videoUrl), "video/mp4"); 
startActivity(playVideo); 
+0

@Brad このような動画を再生中です。しかし、私は、HTTPクエリに追加のヘッダを追加したい場合があります。 viewIntent.putExtra(Browser.EXTRA_HEADERS、bundle)を追加しますが、setDataAndType()の代わりにsetData()を使用する場合にのみヘッダーを追加します。私の考えは、私はビデオを再生したいが、サーバーはHTTPクエリでヘッダを使って私に権限を与える必要があるということです... – Balflear

関連する問題