web-dev-qa-db-ja.com

アンドロイドでビデオファイルを再生するには?

ドメインスペースにビデオ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);
}
}
14
zeeshan

ほとんどの場合、私は次のコードを使用しています:

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

6
Hesam

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を使用してビデオファイルを再生

14
AndroidLover

これは、いくつかの解決策を見つけるのに役立つと思います。

mp=new MediaPlayer();                    
mp.setDataSource(path);
mp.setScreenOnWhilePlaying(true);
mp.setDisplay(holder);
mp.prepare();
mp.start();
6
JKV

エミュレータでこれを試す場合は、実際のデバイスで試す必要があるかもしれません。私も同じ問題に直面することがあります。エミュレータでビデオを表示することはできませんが、ビデオはモバイルで問題なく再生されます。問題は、あなたのコードではなく、エミュレータであると思います。

3
Andro Selva

このライブラリ名を使用できます MagicalExoPlayer

それはgoogleビデオプレーヤー(ExoPlayer)に基づいており、それは本当に使いやすいです。

enter image description here

1
Hamid Reza

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();
}
0
Dmitry