获取 E/MediaPlayer:尝试从给定 URL 播放视频时出现错误 (1,-2147483648) 错误

Posted

技术标签:

【中文标题】获取 E/MediaPlayer:尝试从给定 URL 播放视频时出现错误 (1,-2147483648) 错误【英文标题】:Getting E/MediaPlayer: Error (1,-2147483648) error when trying to play a video from given URL 【发布时间】:2021-08-14 17:48:16 【问题描述】:

我正在构建一个允许用户查看新电影及其预告片的应用程序,从 imdb API 查询数据

这是我调用VideoView的代码段

private fun setTrailer(trailer: Trailer)
        val trailerPlayer = view?.findViewById<VideoView>(R.id.trailerView)
        trailerPlayer?.setMediaController(MediaController(this.context))
        trailerPlayer?.setVideoPath(trailer.trailerUrl)
        trailerPlayer?.requestFocus()
        trailerPlayer?.start()
    

我已经把它放在了onCreateView

override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? 
        //some other functions
        getMovieTrailer()
        return inflater.inflate(R.layout.movie_detail_layout, container, false)
    

这是我从 API 获得的 URL

Link 1

授予使用互联网的权限,我的 sdk 是 26,两个链接都是 https

我不断收到错误消息 E/MediaPlayer: Error (1,-2147483648) 和一个显示“无法播放此视频”的对话框

我也尝试过使用此链接,但遇到了同样的错误

Link 2

我找到了一些答案,但到目前为止没有一个有效

感谢任何提示

【问题讨论】:

【参考方案1】:

trailerPlayer?.setVideoURI(Uri.parse(trailer.trailerUrl))

【讨论】:

我也试过了,还是一样的错误【参考方案2】:
    override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? 
    //some other functions
    
    val view =  inflater.inflate(R.layout.movie_detail_layout, container, false)
getMovieTrailer()
return view

【讨论】:

问题仍然存在并显示相同的错误消息,但感谢您的帮助 分享课程

以上是关于获取 E/MediaPlayer:尝试从给定 URL 播放视频时出现错误 (1,-2147483648) 错误的主要内容,如果未能解决你的问题,请参考以下文章

E/MediaPlayer: start called in state 4, mPlayer(0xcc719a40)解决

音频文件不与 mediaController 一起播放?

无法从 URLSessionTaskDelegate 获取数据

尝试从 WPF 中的 Access 数据库中获取给定条件的日期时出错

Laravel 6 从 POST JSON 获取信息

如何获取从根到二叉树上给定节点的路径?