Android Kotlin无法播放Firebase Storage视频求助及疑问
Firebase Storage视频播放问题排查与疑问
我在Firebase Storage中存储了一个视频,希望在Android Kotlin应用界面直接播放。部分资料称无法直接播放该存储中的视频,但按ChatGPT提供的代码实现后,播放时弹出“can't play this video”提示框。
已排查内容
- 确认视频路径正确(位于videos文件夹下,文件名为video.mp4),格式为.mp4
- 修改Firebase Storage规则为允许读取
- 添加了INTERNET和ACCESS_WIFI_STATE权限
- 解决了SDK版本适配问题,但仍无法播放
疑问
- 是否真的可以直接播放Firebase Storage中的视频?
- 若不可行,有无无需下载或本地存储即可播放云端视频的方案?
- .mp4格式是否适用于该场景?
附相关代码
Kotlin代码
package com.example.parkinsonvethaichi import android.content.Intent import android.net.Uri import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.MediaController import android.widget.VideoView import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.ktx.auth import com.google.firebase.firestore.FirebaseFirestore import com.google.firebase.firestore.ktx.firestore import com.google.firebase.ktx.Firebase import com.google.firebase.storage.FirebaseStorage import com.google.firebase.storage.ktx.storage import kotlinx.android.synthetic.main.activity_movements.* class Movements : AppCompatActivity() { private lateinit var db : FirebaseFirestore private lateinit var auth : FirebaseAuth private lateinit var storage:FirebaseStorage override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_movements) var actionBar=supportActionBar actionBar?.title="Tai Chi Movements" val videoPath = "gs://tai-chi-ve-parkinson.appspot.com/videos/video.mp4" val videoUri = Uri.parse(videoPath) val mediaController = MediaController(this) main_video_view.setMediaController(mediaController) main_video_view.setVideoURI(videoUri) main_video_view.start() } override fun onBackPressed() { val intent = Intent(this, HomeActivity::class.java) startActivity(intent) finish() } }
Firebase Storage规则
rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read; } } }
Manifest权限配置
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
内容的提问来源于stack exchange,提问作者Ömer
相关产品推荐
相关产品推荐

