簡體   English   中英

如何在應用程序中從Firebase檢索視頻?

[英]How to Retrieve videos from Firebase in app?

我想在Firebase存儲中添加視頻,並通過帶有Card視圖的Recycler視圖檢索應用程序中所有上傳的視頻。

請為此提供一些參考或源代碼。

我正在嘗試此操作,以便在Firebase中上傳視頻,該視頻已成功上傳,但是無法檢索到。

提前致謝。

public class VideoUplod extends AppCompatActivity
{
    private static final int RC_PDF_PICKER = 2;
    private FirebaseStorage mFirebaseStorage;
    private StorageReference mChatPDFStorageReference;
    public static final int RC_SIGN_IN = 1;

    @Override


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video_uplod);

    VideoView videoView =(VideoView)findViewById(R.id.image);


    //Creating MediaController
    MediaController mediaController= new MediaController(this);
    mediaController.setAnchorView(videoView);


    //specify the location of media file
    Uri uri=Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/media/1.mp4");

    //Setting MediaController and URI, then starting the videoView
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(uri);
    videoView.requestFocus();
    videoView.start();



    mFirebaseStorage =FirebaseStorage.getInstance();
    mChatPDFStorageReference = mFirebaseStorage.getReference().child("Video");

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("video/*");
    intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
    startActivityForResult(Intent.createChooser(intent, "Complete action using"), RC_PDF_PICKER);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RC_SIGN_IN) {
        if (resultCode == RESULT_OK) {
            // Sign-in succeeded, set up the UI
            Toast.makeText(this, "Signed in!", Toast.LENGTH_SHORT).show();
        } else if (resultCode == RESULT_CANCELED) {
            // Sign in was canceled by the user, finish the activity
            Toast.makeText(this, "Sign in canceled", Toast.LENGTH_SHORT).show();
            finish();
        }
        //for photo storage check
    } else if (requestCode == RC_PDF_PICKER && resultCode == RESULT_OK) {
        Uri selectedImageUri = data.getData();

        // Get a reference to store file at chat_photos/<FILENAME>

        StorageReference photoRef = mChatPDFStorageReference.child(selectedImageUri.getLastPathSegment());

        // Upload file to Firebase Storage

        photoRef.putFile(selectedImageUri)
                .addOnSuccessListener(this, new OnSuccessListener<UploadTask.TaskSnapshot>() {

                    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                        // When the image has successfully uploaded, we get its download URL
                        @SuppressWarnings("VisibleForTests")   Uri downloadUrl = taskSnapshot.getDownloadUrl();

                        // Set the download URL to the message box so that the user can send it to the database
                    }
                });
         }
    }
}

我來看看:

從文檔中,下載文件非常簡單:

StorageReference videoRef = storageRef.child("videos/myvideo.mp4");

final long ONE_MEGABYTE = 1024 * 1024;
videoRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
    @Override
    public void onSuccess(byte[] bytes) {
        // Transform bytes to a video, play
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM