java - 视频连续播放 firebase

标签 java android firebase firebase-realtime-database

我已经使用 Fire Base 数据库存储了视频链接,总共有 3 个链接。并连续播放视频,无需触摸代码,如果您可以展示如何连续播放歌曲。抱歉,代码也可能有错误。

db-format

private FirebaseDatabase firebaseDatabase;
private DatabaseReference song1;
private DatabaseReference song2;
private DatabaseReference song3;
private VideoView videoView;



protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
  firebaseDatabase = FirebaseDatabase.getInstance();
  song1 = firebaseDatabase.getReference().child("Song").child("1");
  song2 = firebaseDatabase.getReference().child("Song").child("2");
  song3 = firebaseDatabase.getReference().child("Song").child("3");
  videoView = findViewById(R.id.videoView);
  total = firebaseDatabase.getReference().child("Song");
------------------------------------------------------------------------

  total.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            List<Uri> list = new ArrayList<>();
            for (DataSnapshot child : dataSnapshot.getChildren()) {
                list.add(child.getValue(Uri.class));
                Uri uri=Uri.parse(dataSnapshot.getValue().toString());
               videoView.setVideoURI(uri);
               videoView.requestFocus();
               videoView.start();
            }



}

最佳答案

videoView.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mplayer) {
        mplayer.setLooping(true);
    }
});

您可以创建一个方法并向其传递不同的 url。

playVideo(String uri) {

    videoView.setVideoURI(uri);
    videoView.requestFocus();
    videoView.start();
}

并在调用 playVideo 方法时检查以下条件 -

if (videoView.isPlaying()) {

}
else {
     playVideo(uri);
}

关于java - 视频连续播放 firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51313095/

相关文章:

java - 具有 Collection 字段的对象的 GSON 自定义序列化程序

java - 分离对象中的 Hibernate 延迟加载

android - 在recyclerview项目中列出

ios - 无法将 Bool 类型的值分配给类型 String 数据库表示

java - (jzy3d) 如何在Scatter上有效显示工具提示?

java - 如何在 perl 中编写一个 cgi 脚本,它接受来自 Java applet 中的 urlconnection 的输出(图像文件)并将其写入服务器?

java - 不希望 Listactivity 的项目之间存在距离

android - 如何在没有 GSON 的情况下从 url 或 android 中的 restful 服务解析巨大的 JSON 数据

firebase - Flutter-用户使用Firebase登录时如何重建页面?

javascript - Firebase admin SDK + Vue + Webpack,TypeError : rtdb. initStandalone 不是函数