Load Video from Firebase Storage to videoView

后端 未结 4 1839
陌清茗
陌清茗 2020-12-01 20:06

I want to play a video from Firebase storage with a videoview I\'m trying like this:

storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessList         


        
4条回答
  •  一生所求
    2020-12-01 20:37

    I think the time is late for the answer, but this answer to those who are looking for it later:

    Via RecyclerView View dial Uri from the data Snapshot in adapter

            @Override
            protected void onStart() {
                    super.onStart();
    
        final FirebaseRecyclerAdap...///
    
                ) {
                    @Override
                    protected void popul...////
    
    
        /////
         viewHolder.setVideo(Uri.parse(String.valueOf(videoUri)),model.getVideo());
    
            //  Here the position is sent to videoview adapter
            final String post_key = getRef( position ).getKey().toString();
            final String post_id = String.valueOf(post_key);
    
            viewHolder.setUid(model.getUid());
    
            //  Here the position is sent to videoview adapter
            viewHolder.setVideo(post_id);
            viewHolder.setUserprofile(getApplication(),model.getUserprofile());
    
            }
            yourAdpater ....
    
    
            }
    
            public static class ViewHolder extends RecyclerView.ViewHolder {
    
            View mView;
            Videoview post_video ;
    
            public ViewHolder(View itemView) {
    
            super(itemView);
            mView = itemView;
    
            post_video = (VideoView ) mView.findViewById(R.id.videoView);
    
            }
    
            public void setVideo(final String post_id) {
    
            mDatabase.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
    
            // 
            Uri uri=Uri.parse(dataSnapshot.child(post_id).child("video").getValue(true).toString());
    
    //You can set up the video display as you like
    
                        post_video.setVideoURI(uri);
                        post_video.requestFocus();
                        post_video.start();
    
    
            @Override
            public void onCancelled(DatabaseError databaseError) {
        }
    });
    }
    

    The databases should look like this:

    look here.

    good luck.

提交回复
热议问题