feat(android): implement asset folder playback (#3733)
* fix(ts): onPlaybackRateChangeData was not correctly typed * fix: ensure tracks are well displayed in the sample * feat(android): implement playback from asset folder * chore(android): fix linter * chore: move sample mp4 from package assets to exemple assets
This commit is contained in:
@@ -7,6 +7,8 @@ import static androidx.media3.common.C.CONTENT_TYPE_RTSP;
|
||||
import static androidx.media3.common.C.CONTENT_TYPE_SS;
|
||||
import static androidx.media3.common.C.TIME_END_OF_SOURCE;
|
||||
|
||||
import static com.brentvatne.exoplayer.DataSourceUtil.buildAssetDataSourceFactory;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
@@ -841,7 +843,14 @@ public class ReactExoplayerView extends FrameLayout implements
|
||||
);
|
||||
break;
|
||||
case CONTENT_TYPE_OTHER:
|
||||
if (uri.toString().startsWith("file://") ||
|
||||
if ("asset".equals(srcUri.getScheme())) {
|
||||
try {
|
||||
DataSource.Factory assetDataSourceFactory = buildAssetDataSourceFactory(themedReactContext, srcUri);
|
||||
mediaSourceFactory = new ProgressiveMediaSource.Factory(assetDataSourceFactory);
|
||||
} catch (Exception e) {
|
||||
throw new IllegalStateException("cannot open input file" + srcUri);
|
||||
}
|
||||
} else if ("file".equals(srcUri.getScheme()) ||
|
||||
cacheDataSourceFactory == null) {
|
||||
mediaSourceFactory = new ProgressiveMediaSource.Factory(
|
||||
mediaDataSourceFactory
|
||||
|
||||
Reference in New Issue
Block a user