1
私はビデオをcom.google.android.exoplayer2.ui.SimpleExoPlayerView
ビューに読み込んでいますが、ビューが読み込まれると自動的に開始したいと思っています。今、ユーザは再生ボタンをクリックしなければならない。exoplayerを使用して動画を自動開始する方法は?
私はビデオをcom.google.android.exoplayer2.ui.SimpleExoPlayerView
ビューに読み込んでいますが、ビューが読み込まれると自動的に開始したいと思っています。今、ユーザは再生ボタンをクリックしなければならない。exoplayerを使用して動画を自動開始する方法は?
SimpleExoPlayerはSurfaceViewでうまく動作します。プレーヤのサーフェスを設定するメソッドがあります。
これは私がSimpleExoPlayerを作成する方法である:私は彼らに私は、新しいデータソースを設定するたびに作成する必要はありませんので、
/** Create a default TrackSelector **/
TrackSelector trackSelector = new DefaultTrackSelector(new Handler());
/** Create a default LoadControl **/
LoadControl loadControl = new DefaultLoadControl();
/** Create the player **/
mPlayer = ExoPlayerFactory.newSimpleInstance(context, trackSelector, loadControl);
/** Make the ExoPlayer play when its data source is prepared **/
mPlayer.setPlayWhenReady(true);
私はこれらの工場を保有。
/** Produces Extractor instances for parsing the media data **/
mExtractorsFactory = new DefaultExtractorsFactory();
/** Produces DataSource instances through which media data is loaded **/
mDataSourceFactory = new DefaultDataSourceFactory(
context, Util.getUserAgent(context, "AppName")
);
次の方法を使用して、プレーヤーに新しいデータソースを設定します。このメソッドは、以前に作成されたファクトリを使用します。
私の場合、String source
は、デバイスのSDカードに保存されているmp4ファイルのURIです。 setPlayWhenReady(true)
を持っていれば、すぐにこのビデオが準備されて準備されます&すぐに始まります。
public void setDataSource(SurfaceView view, String source) {
stopMedia();
mPlayer.setVideoSurfaceView(view);
view.requestFocus();
// Create the media source
mVideoSource = new ExtractorMediaSource(Uri.fromFile(
new File(source)),
mDataSourceFactory, mExtractorsFactory, null, null);
// Prepare the player with the source.
mPlayer.prepare(mVideoSource);
}
幸運!