Android MediaPlayer 警告:应该已经设置了字幕控制器

Posted

技术标签:

【中文标题】Android MediaPlayer 警告:应该已经设置了字幕控制器【英文标题】:Android MediaPlayer warning: Should have subtitle controller already set 【发布时间】:2013-12-08 14:12:36 【问题描述】:

我的 Nexus 4 升级到 4.4,现在每当 MediaPlayer 播放声音时,我都会收到警告:

Should have subtitle controller already set

当我打电话给mp.release() 时,我现在收到了警告

mediaplayer went away with unhandled events

Nexus 7 4.3 上的同一应用不会显示这些警告。

【问题讨论】:

Should have subtitle controller already set Mediaplayer error android的可能重复 【参考方案1】:

Android 4.4kitkat 中,有一个新功能支持WebVTTHLS,它在MediaPlayer 中引入了一些更改。 (参考:Kitkat highlights - 隐藏式字幕)

根据您对错误的描述,实际的播放器引擎似乎没有调用setSubtitleAnchor,因为VideoView 正在执行here。这会导致来自另一个方法 here 的错误消息,该方法在调用侦听器之前作为prepare 状态转换的一部分被调用。

附注:您的播放器是自定义播放器还是作为Android 分发包的一部分预先捆绑的标准播放器?你能分享更多的日志吗?

【讨论】:

【参考方案2】:
mp.reset();
mp.release();

这应该可以帮助您摆脱第二个警告

【讨论】:

以上是关于Android MediaPlayer 警告:应该已经设置了字幕控制器的主要内容,如果未能解决你的问题,请参考以下文章

Android:MediaPlayer 未发布就完成了

Android - MediaPlayer/SoundPool 性能?

在 Android 的 MediaPlayer 上播放音频时遇到问题

流式传输到 Android MediaPlayer

MediaPlayer和Service用法

Android MediaPlayer 播放音频