android开发笔记--MediaPlayer error (1, -2147483648)

今天记录一个坑,使用MediaPlayer播放视频时出现了黑屏的情况,然后看控制台输出的系统日志中包含了一个“MediaPlayer error (1, -2147483648)

然后我就去查了一下源码,发现了这个

public interface OnErrorListener
    {
        /**
         * Called to indicate an error.
         *
         * @param mp      the MediaPlayer the error pertains to
         * @param what    the type of error that has occurred:
         * <ul>
         * <li>{@link #MEDIA_ERROR_UNKNOWN}
         * <li>{@link #MEDIA_ERROR_SERVER_DIED}
         * </ul>
         * @param extra an extra code, specific to the error. Typically
         * implementation dependent.
         * <ul>
         * <li>{@link #MEDIA_ERROR_IO}
         * <li>{@link #MEDIA_ERROR_MALFORMED}
         * <li>{@link #MEDIA_ERROR_UNSUPPORTED}
         * <li>{@link #MEDIA_ERROR_TIMED_OUT}
         * <li><code>MEDIA_ERROR_SYSTEM (-2147483648)</code> - low-level system error.
         * </ul>
         * @return True if the method handled the error, false if it didn't.
         * Returning false, or not having an OnErrorListener at all, will
         * cause the OnCompletionListener to be called.
         */
        boolean onError(MediaPlayer mp, int what, int extra);
    }

那么我所遇到的问题就是“MEDIA_ERROR_SYSTEM”这个错误,其原因是“系统版本过低错误”(瞎翻译的)。。。然后我又在网上查了一波,发现是因为视频文件通常是mp4、avi等格式的,但是即便是同一种文件格式,它们的编码格式也可能不一样。比如常见的编码格式有:H.264、H.263等。但许多Andorid设备都只能支持部分编码方式,这也就导致了有些视频没法在Andorid设备上播放,如果非要对这些视频进行播放,就涉及到了视频转码的复杂的操作了。。。目前我还没学会这种技能,也算挖个坑,以后慢慢填吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章