Epa*_*aga 13 java android crash-reports
看到以下崩溃日志经常弹出:
java.lang.InternalError:
at java.lang.Thread.nativeCreate (Native Method)
at java.lang.Thread.start (Thread.java:733)
at android.media.MediaPlayer.setSubtitleAnchor (MediaPlayer.java:3039)
at android.media.MediaPlayer.scanInternalSubtitleTracks (MediaPlayer.java:3240)
at android.media.MediaPlayer.prepare (MediaPlayer.java:1442)
at android.media.MediaPlayer.create (MediaPlayer.java:1046)
at android.media.MediaPlayer.create (MediaPlayer.java:1012)
...
Run Code Online (Sandbox Code Playgroud)
我MediaPlayer.create用context/resource参数调用.它对我和95%的用户都很好.有一点需要注意的是,我确实得到了可怕的
E/MediaPlayer: Should have subtitle controller already set
Run Code Online (Sandbox Code Playgroud)
日志消息是许多StackOverflow问题的主题.我目前一直忽视它,就像大多数答案告诉我的那样 - 但如果scanInternalSubtitleTracks是在创建InternalError崩溃,也许我不应该?
在 MEDIA_PREPARED 之后的媒体播放器 android 中,播放器开始搜索字幕,并且在搜索字幕发送期间发生任何异常,而不是崩溃。您应该忽略它,或者您可以使用其他播放器,例如 ExoPlayer。
case MEDIA_PREPARED:
try {
scanInternalSubtitleTracks();
} catch (RuntimeException e) {
// send error message instead of crashing;
// send error message instead of inlining a call to onError
// to avoid code duplication.
Message msg2 = obtainMessage(
MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, MEDIA_ERROR_UNSUPPORTED, null);
sendMessage(msg2);
}
OnPreparedListener onPreparedListener = mOnPreparedListener;
if (onPreparedListener != null)
onPreparedListener.onPrepared(mMediaPlayer);
return;
Run Code Online (Sandbox Code Playgroud)
在 android 版本 28 android 让你使用.setOnSubtitleDataListener()它可以解决你在 android 28 上的问题
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |