You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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版本适配问题,但仍无法播放

疑问

  1. 是否真的可以直接播放Firebase Storage中的视频?
  2. 若不可行,有无无需下载或本地存储即可播放云端视频的方案?
  3. .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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:04:54