add hls playback
This commit is contained in:
parent
1e61324702
commit
56d17c131b
3 changed files with 21 additions and 5 deletions
|
@ -204,7 +204,7 @@ public class ObjectSelect extends AppCompatActivity {
|
||||||
Img.add(R.drawable.audiofile);
|
Img.add(R.drawable.audiofile);
|
||||||
}
|
}
|
||||||
else if(Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".mp4") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".mkv")
|
else if(Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".mp4") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".mkv")
|
||||||
|| Name.get(i).toString().endsWith(".webm") || Name.get(i).toString().endsWith(".m4v")) {
|
|| Name.get(i).toString().endsWith(".webm") || Name.get(i).toString().endsWith(".m4v") || Name.get(i).toString().endsWith(".m3u8")) {
|
||||||
Img.add(R.drawable.videofile);
|
Img.add(R.drawable.videofile);
|
||||||
}
|
}
|
||||||
else if (Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".htm") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".html")) {
|
else if (Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".htm") || Name.get(i).toString().toLowerCase(Locale.ROOT).endsWith(".html")) {
|
||||||
|
@ -350,7 +350,7 @@ public class ObjectSelect extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
// Sending reference and data to Adapter
|
// Sending reference and data to Adapter
|
||||||
videoPlayer(objectURL.toString());
|
videoPlayer(objectURL.toString(), Name.get(position).toString().endsWith(".m3u8"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//System.out.println("tree "+treelevel);
|
//System.out.println("tree "+treelevel);
|
||||||
|
@ -452,7 +452,7 @@ public class ObjectSelect extends AppCompatActivity {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void videoPlayer(String url) {
|
private void videoPlayer(String url, boolean hls) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
||||||
|
@ -467,12 +467,14 @@ public class ObjectSelect extends AppCompatActivity {
|
||||||
intent.putExtra("video_url", url);
|
intent.putExtra("video_url", url);
|
||||||
intent.putExtra("videocache", videocache);
|
intent.putExtra("videocache", videocache);
|
||||||
intent.putExtra("buffersize", buffersize);
|
intent.putExtra("buffersize", buffersize);
|
||||||
|
intent.putExtra("hls", hls);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
} else {
|
} else {
|
||||||
Intent intent = new Intent(this, VideoPlayer.class);
|
Intent intent = new Intent(this, VideoPlayer.class);
|
||||||
intent.putExtra("video_url", url);
|
intent.putExtra("video_url", url);
|
||||||
intent.putExtra("videocache", videocache);
|
intent.putExtra("videocache", videocache);
|
||||||
intent.putExtra("buffersize", buffersize);
|
intent.putExtra("buffersize", buffersize);
|
||||||
|
intent.putExtra("hls", hls);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
} catch (PackageManager.NameNotFoundException e) {
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class VideoPlayer extends AppCompatActivity {
|
||||||
AppOpsManager appOpsManager;
|
AppOpsManager appOpsManager;
|
||||||
private PlayerNotificationManager playerNotificationManager;
|
private PlayerNotificationManager playerNotificationManager;
|
||||||
private int notificationId = 1234;
|
private int notificationId = 1234;
|
||||||
|
boolean hls;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -96,6 +97,7 @@ public class VideoPlayer extends AppCompatActivity {
|
||||||
String videoURL = getIntent().getStringExtra("video_url");
|
String videoURL = getIntent().getStringExtra("video_url");
|
||||||
videocache = getIntent().getIntExtra("videocache", 40);
|
videocache = getIntent().getIntExtra("videocache", 40);
|
||||||
buffersize = getIntent().getIntExtra("buffersize", 2000);
|
buffersize = getIntent().getIntExtra("buffersize", 2000);
|
||||||
|
hls = getIntent().getBooleanExtra("hls", false);
|
||||||
loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(2000, buffersize, 1500, 2000).build();
|
loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(2000, buffersize, 1500, 2000).build();
|
||||||
|
|
||||||
@DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode = DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;
|
@DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode = DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;
|
||||||
|
@ -142,7 +144,12 @@ public class VideoPlayer extends AppCompatActivity {
|
||||||
playerNotificationManager = new PlayerNotificationManager.Builder(this, notificationId, "playback").build();
|
playerNotificationManager = new PlayerNotificationManager.Builder(this, notificationId, "playback").build();
|
||||||
playerNotificationManager.setMediaSessionToken(mediaSession.getSessionToken());
|
playerNotificationManager.setMediaSessionToken(mediaSession.getSessionToken());
|
||||||
playerNotificationManager.setPlayer(player);
|
playerNotificationManager.setPlayer(player);
|
||||||
player.setMediaSource(mediaSource);
|
if (hls) {
|
||||||
|
MediaItem mediaItem = MediaItem.fromUri(videoURL);
|
||||||
|
player.setMediaItem(mediaItem);
|
||||||
|
} else {
|
||||||
|
player.setMediaSource(mediaSource);
|
||||||
|
}
|
||||||
player.prepare();
|
player.prepare();
|
||||||
// Start the playback.
|
// Start the playback.
|
||||||
player.play();
|
player.play();
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class VideoPlayerPip extends AppCompatActivity {
|
||||||
AppOpsManager appOpsManager;
|
AppOpsManager appOpsManager;
|
||||||
private PlayerNotificationManager playerNotificationManager;
|
private PlayerNotificationManager playerNotificationManager;
|
||||||
private int notificationId = 1234;
|
private int notificationId = 1234;
|
||||||
|
boolean hls;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -96,6 +97,7 @@ public class VideoPlayerPip extends AppCompatActivity {
|
||||||
String videoURL = getIntent().getStringExtra("video_url");
|
String videoURL = getIntent().getStringExtra("video_url");
|
||||||
videocache = getIntent().getIntExtra("videocache", 40);
|
videocache = getIntent().getIntExtra("videocache", 40);
|
||||||
buffersize = getIntent().getIntExtra("buffersize", 2000);
|
buffersize = getIntent().getIntExtra("buffersize", 2000);
|
||||||
|
hls = getIntent().getBooleanExtra("hls", false);
|
||||||
loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(2000, buffersize, 1500, 2000).build();
|
loadControl = new DefaultLoadControl.Builder().setBufferDurationsMs(2000, buffersize, 1500, 2000).build();
|
||||||
|
|
||||||
@DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode = DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;
|
@DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode = DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;
|
||||||
|
@ -142,7 +144,12 @@ public class VideoPlayerPip extends AppCompatActivity {
|
||||||
playerNotificationManager = new PlayerNotificationManager.Builder(this, notificationId, "playback").build();
|
playerNotificationManager = new PlayerNotificationManager.Builder(this, notificationId, "playback").build();
|
||||||
playerNotificationManager.setMediaSessionToken(mediaSession.getSessionToken());
|
playerNotificationManager.setMediaSessionToken(mediaSession.getSessionToken());
|
||||||
playerNotificationManager.setPlayer(player);
|
playerNotificationManager.setPlayer(player);
|
||||||
player.setMediaSource(mediaSource);
|
if (hls) {
|
||||||
|
MediaItem mediaItem = MediaItem.fromUri(videoURL);
|
||||||
|
player.setMediaItem(mediaItem);
|
||||||
|
} else {
|
||||||
|
player.setMediaSource(mediaSource);
|
||||||
|
}
|
||||||
player.prepare();
|
player.prepare();
|
||||||
// Start the playback.
|
// Start the playback.
|
||||||
player.play();
|
player.play();
|
||||||
|
|
Loading…
Reference in a new issue