0
私はexoPlayerでビデオを2日間表示してみましたが、進歩は見られませんでした。 ありがとうございます。ExoPlayerはアセットを表示していませんビデオ
これは、create functionからのコード呼び出しです。
private void initializePlayer() {
simpleExoPlayerView = findViewById(R.id.exoPlayerView);
simpleExoPlayerView.requestFocus();
DataSpec dataSpec = new DataSpec(Uri.parse("assets:///splash_video.mp4"));
player = ExoPlayerFactory.newSimpleInstance(this, new DefaultTrackSelector(), new DefaultLoadControl());
simpleExoPlayerView.setPlayer(player);
final AssetDataSource assetDataSource = new AssetDataSource(this);
try {
assetDataSource.open(dataSpec);
DataSource.Factory factory = new DataSource.Factory() {
@Override
public DataSource createDataSource() {
return assetDataSource;
}
};
player.setPlayWhenReady(true);
DefaultExtractorsFactory defaultExtractorsFactory = new DefaultExtractorsFactory();
MediaSource audioSource = new HlsMediaSource(assetDataSource.getUri(), factory, new Handler(), null);
Log.e(TAG, assetDataSource.getUri().getPath());
player.prepare(audioSource);
} catch (AssetDataSource.AssetDataSourceException e) {
e.printStackTrace();
}
}
マイライブラリのバージョンは、資産のURIのためのデータソースの作成をサポート
compile 'com.google.android.exoplayer:exoplayer:r2.5.4'
あなたはWRITE_EXTERNAL_STORAGE許可 を付与しました。<使用許可アンドロイドを:名前=「android.permission.WRITE_EXTERNAL_STORAGE」/> – MGRagab
アセットフォルダにローカルに保存されたファイルに外部ストレージ権限が必要な理由@MGRagab –
ファイルにアクセスするためのアクセス権がプレーヤに必要です。 – MGRagab