我想从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();
}
});
但它不会播放。视频是空的。
这可能是通过将视频URL存储在数据库中,然后在Recyclerview中呈现的,Recyclerview由Webview / Youtube集成组成。
我想这个答案的时候已经晚了,但这个答案对那些后来寻找它的人来说:
通过回收器查看
从数据拨号 URI
适配器中的快照
@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) {
}
});
}
数据库应该如下所示:
看这里。
祝你好运。
首先,确保存储中的视频实际上是Android设备可以播放的格式。VideoView不能播放所有内容——只能播放Android支持的视频类型。
您现在通过将uri直接传递到VideoView中所做的操作被解释为试图从给定的uri流式传输视频。Firebase存储不支持视频流,因此无法工作。从uri流式传输要求另一端的服务器能够流式传输给定的资源。
如果要从存储中播放视频,必须先下载完整的视频,保存到本地文件,然后将视频视图指向本地文件进行播放。
我正在开发一个有视频流功能的应用程序。我正在使用firebase数据库和firebase存储。我试图找到一些关于firebase存储如何处理视频文件的文档,但真的找不到太多。
我有一个基于AWS的web应用程序。客户端使用Angular 1.5.3用JavaScript编写 null 我已经找到了这篇教程:http://docs.aws.amazon.com/amazoncloudfront/latest/developerguide/tutorialstreamingjwplayer.html,但不幸的是,这篇教程没有多大用处,因为它描述了如何从公共bucket进行流
有没有办法从Firebase存储器中取出一个视频文件,而不是一次取出整个文件?像youtube一样,它只加载用户观看的片段。我不想加载一个50mb的文件,让用户等待它,只是为了让他们继续前进。 使用Firebase存储在flutter中可以做什么?
我正在做一个react项目,很像一个社交媒体应用程序,用户可以上传图像或视频。我正在使用firebase存储来存储图像和视频。 我可以通过使用react react-firebase-file-uploader包完成图像上传,但由于我是web开发的新手,我很难找到为react上传视频的解决方案。 我已经搜索了整个互联网,但我找不到一个适当的解决方案来完成这些任务。 > 我要求只上传视频/视频,并希
我检查过: 我查看了这个链接,上面有一个答案,说你必须将视频转换成块,并将块保存到firebase存储区,然后加载它们: 但我在这里迷失了: 谢谢你的努力。
我正在使用数据移动库跟踪传输数据,以便将视频(mp4)从本地计算机上载到Azure Blob存储。 这是密码。 链接中提供的示例在GetBlob方法中没有以下行 我试过使用ContentType和不使用ContentType。在这两种情况下,文件似乎都已上载到Blob。唯一的区别似乎是ContentType,如下图所示。 问题是,在尝试下载任何文件时,它导致了一个警告错误,之后两个文件都没有播放,