I am using the Exoplayer Demo app and want to preload a MP4 video from SD card. I have tried out the implementation from this post, but it does not work. There is no such class called DemoUtil.java in my exoplayer Demo. Instead used:
public static final Sample[] LOCAL_VIDEOS = new Sample[] {
new Sample("Some User friendly name of video 1",
"/mnt/sdcard/video1.mp4", Util.TYPE_OTHER),
};
I also could not use the their snippet of code mentioned for SampleChooserActivity.java. (Kept giving me errors)
I instead used :
group = new SampleGroup("Local Videos");
group.addAll(Samples.LOCAL_VIDEOS);
sampleGroups.add(group);
What am I doing wrong? Does the path of the file change for every device?
Video playback from sd card worked with following code. My test file is in Videos directory in sdcard.
For those who want to play a video from assets using ExoPlayer 2 here is the way:
In some devices you could directly used this path '/sdcard/nameoffile.mp4".
Haven't tried the demo app, but I have managed to create my own example of playing local audio files and have posted it here: https://github.com/nzkozar/ExoplayerExample
Here is the main part that does all the work of preparing the player from a file Uri:
You can get the Uri like this:
Uri.fromFile(file)
After you have prepared your file for playback as shown above, you only need to call
exoPlayer.setPlayWhenReady(true);
to start playback.For a video file you'd probably only need to attach a surface view to your exoPlayer object, but I haven't really done this with ExoPlayer2 yet.