MEDIA_ERROR_SERVER_DIED 是啥意思?

Posted

技术标签:

【中文标题】MEDIA_ERROR_SERVER_DIED 是啥意思?【英文标题】:What does MEDIA_ERROR_SERVER_DIED mean?MEDIA_ERROR_SERVER_DIED 是什么意思? 【发布时间】:2012-01-11 06:17:43 【问题描述】:

android docs中,定义了一个常量MEDIA_ERROR_SERVER_DIED,描述为:

媒体服务器死机。在这种情况下,应用程序必须释放 MediaPlayer 对象并实例化一个新对象。

这似乎很模糊。媒体服务器死了是什么意思?为什么会死?之后立即尝试再次播放来处理它是否合适?

【问题讨论】:

【参考方案1】:

在 Android 中,大多数媒体活动(解码/编码)都发生在媒体服务器中,但在少数情况下除外,例如使用软件编解码器播放本地文件。 Android 媒体服务器通常会因硬件错误、格式不正确的文件或数据而崩溃(中止)。是的,对不起!

由于许多活动共享一个公共媒体服务器,因此任何活动中的错误都可能导致媒体服务器崩溃。这种情况最常发生在后台活动(例如媒体扫描仪或 Google+ Auto-Awesome Movies)尝试扫描损坏或不受支持的文件时。发生这种情况时,使用 mediaserver 的其余进程会收到通知。如果是 MediaPlayer 或 MediaRecorder,此通知将传递给应用程序。

当 mediaserver 死机时,它会立即重新启动。即使服务器死了,应用程序上的代理对象仍然活着并且正在使用资源。因此需要释放对象。在收到通知后立即创建一个新的应该是安全的。

【讨论】:

【参考方案2】:

导致这种情况的一种情况是 MediaPlayer 未接收或停止接收来自服务器的视频流。如果错误始终立即发生(即,如果根本没有收到任何视频),您可能需要确保没有任何东西(防火墙、*** 等)阻止您到服务器的路由。

【讨论】:

【参考方案3】:

这意味着您从中流式传输的服务器意外终止了连接。可能会发生,通常与“Connection reset by peer”错误有关。

是的,您可以尝试重新连接,也许稍等片刻。

【讨论】:

以上是关于MEDIA_ERROR_SERVER_DIED 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Android MediaPlayer onError Listener MEDIA_ERROR_SERVER_DIED 出问题

美国是个渣渣

财富的涵义

H5 文本属性

珊仑怖未耙耘阅

霸藕咽诎旧良采