将视频从Firebase存储加载到videoView

Meh*_*ida 5 android firebase android-videoview firebase-storage

我想通过视频来播放Firebase存储中的视频我正在尝试这样:

storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                    @Override
                    public void onSuccess(Uri uri) {
                        //Toast.makeText(Chat.this, uri.toString(), Toast.LENGTH_SHORT).show();
                        MediaController mc = new MediaController(Chat.this);
                        videoView.setMediaController(mc);
                        videoView.setVideoURI(uri);
                        videoView.requestFocus();
                        //videoView.start();
                    }
                });
Run Code Online (Sandbox Code Playgroud)

但它不会玩.视频是空的.

Dou*_*son 7

首先,请确保存储中的视频实际上是Android设备可以播放的格式.VideoView无法播放所有内容 - 仅限Android支持的视频类型.

通过将uri直接传递到VideoView,您现在正在做的事情被解释为尝试从给定的uri流式传输视频.Firebase存储不支持视频流,因此不起作用.从uri流式传输需要另一端的服务器能够流式传输给定的资源.

如果要从存储中播放视频,则必须先完整下载,保存到本地文件,然后将VideoView指向本地文件以进行播放.