ドメインスペースにビデオMP4が配置されます。公開URLを持っているので、Androidアプリで再生したいのですが、どうすればいいのかわかりません。動作していない次のコードを使用しました。トラックコントローラーが動いています画面にビデオが表示されません。
public class MPlayer extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playvideo);
VideoView videoView = new VideoView(MPlayer.this);
videoView.setMediaController(new MediaController(this));
videoView.setVideoURI(Uri.parse("http://www.semanticdevlab.com/abc.mp4"));
videoView.requestFocus();
videoView.start();
LinearLayout l = (LinearLayout)findViewById(R.id.mplayer);
l.addView(videoView);
}
}
ほとんどの場合、私は次のコードを使用しています:
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
詳細については、このページをご覧ください: http://developer.Android.com/guide/topics/media/index.html および http://developer.Android.com/resources /samples/ApiDemos/src/com/example/Android/apis/media/MediaPlayerDemo_Video.html
VideoViewクラスは、さまざまなソース(リソースやコンテンツプロバイダーなど)から画像を読み込んだり、ビデオから測定値を計算したりして、任意のレイアウトマネージャーで使用できるようにし、スケーリングやティントなどのさまざまな表示オプションを提供します。
コード:
videoView = (VideoView)findViewById(R.id.ViewVideo);
videoView.setVideoURI(Uri.parse(“Android.resource://” + getPackageName() +”/”+R.raw.video));
videoView.setMediaController(new MediaController(this));
videoView.requestFocus();
videoView.start();
ソースコードを表示する場合:AndroidのVideoViewを使用してビデオファイルを再生
これは、いくつかの解決策を見つけるのに役立つと思います。
mp=new MediaPlayer();
mp.setDataSource(path);
mp.setScreenOnWhilePlaying(true);
mp.setDisplay(holder);
mp.prepare();
mp.start();
エミュレータでこれを試す場合は、実際のデバイスで試す必要があるかもしれません。私も同じ問題に直面することがあります。エミュレータでビデオを表示することはできませんが、ビデオはモバイルで問題なく再生されます。問題は、あなたのコードではなく、エミュレータであると思います。
onResume
ではonCreate
はそのサイズを認識しておらず、ビデオを表示するための適切なサーフェスを作成できないため、VideoView
で行う必要があります。
public class MPlayer extends Activity{
VideoView videoView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playvideo);
videoView = new VideoView(MPlayer.this);
videoView.setMediaController(new MediaController(this));
LinearLayout l = (LinearLayout)findViewById(R.id.mplayer);
l.addView(videoView);
}
@Override
protected void onResume() {
super.onResume();
videoView.setVideoURI(Uri.parse("http://www.semanticdevlab.com/abc.mp4"));
videoView.start();
}