android.media.MediaPlayer#MEDIA_ERROR_TIMED_OUT源码实例Demo

下面列出了android.media.MediaPlayer#MEDIA_ERROR_TIMED_OUT 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Simpler   文件: VideoPlayerActivity.java
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
    AppToast.showToast("播放失败");
    Log.d(TAG, "播放失败, " + what + ", " + extra);
    switch (what) {
        case MediaPlayer.MEDIA_ERROR_IO:
            Log.d(TAG, "MEDIA_ERROR_IO");
            break;
        case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
            Log.d(TAG, "MEDIA_ERROR_SERVER_DIED");
            break;
        case MediaPlayer.MEDIA_ERROR_UNKNOWN:
            Log.d(TAG, "MEDIA_ERROR_UNKNOWN");
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            Log.d(TAG, "MEDIA_ERROR_TIMED_OUT");
            break;
        default:
            break;
    }
    return true;
}
 
源代码2 项目: ParsingPlayer   文件: ParsingPlayerProxy.java
private String errToStr(int framework_err, int impl_err) {
    String msg = null;
    if (framework_err == MediaPlayer.MEDIA_ERROR_IO) {
        msg = "IO Error";
    } else if (framework_err == MediaPlayer.MEDIA_ERROR_MALFORMED) {
        msg = "Bitstream unsupported";
    } else if (framework_err == MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK) {
        msg = "Invalid progressive playback";
    } else if (framework_err == MediaPlayer.MEDIA_ERROR_TIMED_OUT) {
        msg = "Operation time out";
    } else if (framework_err == MediaPlayer.MEDIA_ERROR_SERVER_DIED) {
        msg = "MediaPlayer died";
    } else if (framework_err == MediaPlayer.MEDIA_ERROR_UNSUPPORTED) {
        msg = "File spec is not supported in the media framework";
    } else if (framework_err == MediaPlayer.MEDIA_ERROR_UNKNOWN) {
        msg = "Unknown error";
    }
    return msg;
}
 
源代码3 项目: SimpleVideoEditor   文件: SimpleVideoPlayer.java
@Override
public boolean onError(MediaPlayer mediaPlayer, int what, int extra) {
    removeView(mTextureView);
    // 播放错误,屏幕不要保持常亮
    setKeepScreenOn(false);
    if (what == -38) {
        // fuck samsung: Error code -38 happens on some Samsung devices
        // Just ignore it
        return false;
    }
    String errorMsg = "Preparation/playback error (" + what + "), extra: " + extra;
    switch (what) {
        default:
            errorMsg += "Unknown error";
            break;
        case MediaPlayer.MEDIA_ERROR_IO:
            errorMsg += "I/O error";
            break;
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            errorMsg += "Malformed";
            break;
        case MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK:
            errorMsg += "Not valid for progressive playback";
            break;
        case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
            errorMsg += "Server died";
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            errorMsg += "Timed out";
            break;
        case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
            errorMsg += "Unsupported";
            break;
    }
    log("on error: " + errorMsg);
    throwError(new Exception(errorMsg));
    return false;
}
 
源代码4 项目: PLDroidShortVideo   文件: PlaybackActivity.java
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
    Log.e(TAG, "Error happened, errorCode = " + extra);
    final String errorTip;
    switch (extra) {
        case MediaPlayer.MEDIA_ERROR_IO:
            /**
             * SDK will do reconnecting automatically
             */
            Log.e(TAG, "IO Error!");
            return false;
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            errorTip = "Malformed bitstream!";
            break;
        case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
            errorTip = "Unsupported bitstream!";
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            errorTip = "Timeout!";
            break;
        default:
            errorTip = "unknown error !";
            break;
    }
    if (errorTip != null) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                ToastUtils.s(PlaybackActivity.this, errorTip);
            }
        });
    }

    finish();
    return true;
}
 
源代码5 项目: PLDroidShortVideo   文件: PlaybackActivity.java
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
    Log.e(TAG, "Error happened, errorCode = " + extra);
    final String errorTip;
    switch (extra) {
        case MediaPlayer.MEDIA_ERROR_IO:
            /**
             * SDK will do reconnecting automatically
             */
            Log.e(TAG, "IO Error!");
            return false;
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            errorTip = "Malformed bitstream!";
            break;
        case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
            errorTip = "Unsupported bitstream!";
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            errorTip = "Timeout!";
            break;
        default:
            errorTip = "unknown error !";
            break;
    }
    if (errorTip != null) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                ToastUtils.s(PlaybackActivity.this, errorTip);
            }
        });
    }

    finish();
    return true;
}
 
源代码6 项目: PlayerBase   文件: SysMediaPlayer.java
public boolean onError(MediaPlayer mp, int framework_err, int impl_err) {
    PLog.d(TAG, "Error: " + framework_err + "," + impl_err);
    updateStatus(STATE_ERROR);
    mTargetState = STATE_ERROR;

    int eventCode = OnErrorEventListener.ERROR_EVENT_COMMON;

    switch (framework_err){
        case MediaPlayer.MEDIA_ERROR_IO:
            eventCode = OnErrorEventListener.ERROR_EVENT_IO;
            break;
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            eventCode = OnErrorEventListener.ERROR_EVENT_MALFORMED;
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            eventCode = OnErrorEventListener.ERROR_EVENT_TIMED_OUT;
            break;
        case MediaPlayer.MEDIA_ERROR_UNKNOWN:
            eventCode = OnErrorEventListener.ERROR_EVENT_UNKNOWN;
            break;
        case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
            eventCode = OnErrorEventListener.ERROR_EVENT_UNSUPPORTED;
            break;
        case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
            eventCode = OnErrorEventListener.ERROR_EVENT_SERVER_DIED;
            break;
        case MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK:
            eventCode = OnErrorEventListener.ERROR_EVENT_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK;
            break;
    }

    /* If an error handler has been supplied, use it and finish. */
    Bundle bundle = BundlePool.obtain();
    submitErrorEvent(eventCode,bundle);
    return true;
}
 
public boolean onError(MediaPlayer player, int what, int extra) {
    String errorWhat;
    switch (what) {
        case MediaPlayer.MEDIA_ERROR_UNKNOWN:
            errorWhat = "MEDIA_ERROR_UNKNOWN";
            break;
        case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
            errorWhat = "MEDIA_ERROR_SERVER_DIED";
            break;
        default:
            errorWhat = "!";
    }

    String errorExtra;
    switch (extra) {
        case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
            errorExtra = "MEDIA_ERROR_UNSUPPORTED";
            break;
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            errorExtra = "MEDIA_ERROR_MALFORMED";
            break;
        case MediaPlayer.MEDIA_ERROR_IO:
            errorExtra = "MEDIA_ERROR_IO";
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            errorExtra = "MEDIA_ERROR_TIMED_OUT";
            break;
        default:
            errorExtra = "!";
    }

    String msg = String.format("what = %d (%s), extra = %d (%s)",
            what, errorWhat, extra, errorExtra);

    Log.e(TAG, msg);
    notifyError(what, msg);
    return true;
}
 
源代码8 项目: dcs-sdk-java   文件: MediaPlayerImpl.java
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
    LogUtil.d(TAG, "onError:" + what + ", extra:" + extra);
    if (what == -38) {
        isError38 = true;
        return false;
    }
    posHandler.removeMessages(MSG_UPDATE_PROGRESS);
    isError38 = false;
    mCurrentState = IMediaPlayer.PlayState.ERROR;
    JSONObject jsonObject = new JSONObject();
    try {
        jsonObject.put("msg", "what: " + what + "; extra:" + extra);
    } catch (JSONException e) {
        e.printStackTrace();
    }
    IMediaPlayer.ErrorType errorType;
    switch (what) {
        case MediaPlayer.MEDIA_ERROR_IO:
            // Stream服务端返回错误 (bad request, unauthorized, forbidden, not found etc)
            errorType = IMediaPlayer.ErrorType.MEDIA_ERROR_INVALID_REQUEST;
            break;
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            // 端无法连接stream服务端
            errorType = IMediaPlayer.ErrorType.MEDIA_ERROR_SERVICE_UNAVAILABLE;
            break;
        case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
            // 端内部错误
            errorType = IMediaPlayer.ErrorType.MEDIA_ERROR_INTERNAL_DEVICE_ERROR;
            break;
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            // stream服务端接受请求,但未能正确处理 ?????
            errorType = IMediaPlayer.ErrorType.MEDIA_ERROR_INTERNAL_SERVER_ERROR;
            break;
        default:
            // 未知错误
            errorType = IMediaPlayer.ErrorType.MEDIA_ERROR_UNKNOWN;
            break;
    }
    fireOnError(jsonObject.toString(), errorType);
    return false;
}
 
源代码9 项目: no-player   文件: ErrorFactory.java
@SuppressWarnings({"PMD.StdCyclomaticComplexity", "PMD.CyclomaticComplexity"})
public static NoPlayer.PlayerError createErrorFrom(int type, int extra) {
    String message = String.valueOf(extra);
    switch (type) {
        case MediaPlayer.MEDIA_ERROR_IO:
            return new NoPlayerError(PlayerErrorType.SOURCE, DetailErrorType.MEDIA_PLAYER_IO, message);
        case MediaPlayer.MEDIA_ERROR_MALFORMED:
            return new NoPlayerError(PlayerErrorType.SOURCE, DetailErrorType.MEDIA_PLAYER_MALFORMED, message);
        case MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK:
            return new NoPlayerError(PlayerErrorType.SOURCE, DetailErrorType.MEDIA_PLAYER_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK, message);
        case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE:
            return new NoPlayerError(PlayerErrorType.SOURCE, DetailErrorType.MEDIA_PLAYER_INFO_NOT_SEEKABLE, message);
        case MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT:
            return new NoPlayerError(PlayerErrorType.SOURCE, DetailErrorType.MEDIA_PLAYER_SUBTITLE_TIMED_OUT, message);
        case MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE:
            return new NoPlayerError(PlayerErrorType.SOURCE, DetailErrorType.MEDIA_PLAYER_UNSUPPORTED_SUBTITLE, message);

        case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
            return new NoPlayerError(PlayerErrorType.DRM, DetailErrorType.MEDIA_PLAYER_SERVER_DIED, message);
        case MediaPlayer.PREPARE_DRM_STATUS_PREPARATION_ERROR:
            return new NoPlayerError(PlayerErrorType.DRM, DetailErrorType.MEDIA_PLAYER_PREPARE_DRM_STATUS_PREPARATION_ERROR, message);
        case MediaPlayer.PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR:
            return new NoPlayerError(PlayerErrorType.DRM, DetailErrorType.MEDIA_PLAYER_PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR, message);
        case MediaPlayer.PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR:
            return new NoPlayerError(PlayerErrorType.DRM, DetailErrorType.MEDIA_PLAYER_PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR, message);

        case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
            return new NoPlayerError(PlayerErrorType.CONNECTIVITY, DetailErrorType.MEDIA_PLAYER_TIMED_OUT, message);

        case MediaPlayer.MEDIA_INFO_AUDIO_NOT_PLAYING:
            return new NoPlayerError(PlayerErrorType.RENDERER_DECODER, DetailErrorType.MEDIA_PLAYER_INFO_AUDIO_NOT_PLAYING, message);
        case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
            return new NoPlayerError(PlayerErrorType.RENDERER_DECODER, DetailErrorType.MEDIA_PLAYER_BAD_INTERLEAVING, message);
        case MediaPlayer.MEDIA_INFO_VIDEO_NOT_PLAYING:
            return new NoPlayerError(PlayerErrorType.RENDERER_DECODER, DetailErrorType.MEDIA_PLAYER_INFO_VIDEO_NOT_PLAYING, message);
        case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING:
            return new NoPlayerError(PlayerErrorType.RENDERER_DECODER, DetailErrorType.MEDIA_PLAYER_INFO_VIDEO_TRACK_LAGGING, message);
        default:
            return new NoPlayerError(PlayerErrorType.UNKNOWN, DetailErrorType.MEDIA_PLAYER_UNKNOWN, message);

    }
}
 
源代码10 项目: Cirrus_depricated   文件: MediaService.java
/**
 * Helper method to get an error message suitable to show to users for errors occurred in media playback,
 *
 * @param context   A context to access string resources.
 * @param what      See {@link MediaPlayer.OnErrorListener#onError(MediaPlayer, int, int)
 * @param extra     See {@link MediaPlayer.OnErrorListener#onError(MediaPlayer, int, int)
 * @return          Message suitable to users.
 */
public static String getMessageForMediaError(Context context, int what, int extra) {
    int messageId;

    if (what == OC_MEDIA_ERROR) {
        messageId = extra;

    } else if (extra == MediaPlayer.MEDIA_ERROR_UNSUPPORTED) {
        /*  Added in API level 17
            Bitstream is conforming to the related coding standard or file spec, but the media framework does not support the feature.
            Constant Value: -1010 (0xfffffc0e)
         */
        messageId = R.string.media_err_unsupported;

    } else if (extra == MediaPlayer.MEDIA_ERROR_IO) {
        /*  Added in API level 17
            File or network related operation errors.
            Constant Value: -1004 (0xfffffc14)
         */
        messageId = R.string.media_err_io;

    } else if (extra == MediaPlayer.MEDIA_ERROR_MALFORMED) {
        /*  Added in API level 17
            Bitstream is not conforming to the related coding standard or file spec.
            Constant Value: -1007 (0xfffffc11)
         */
        messageId = R.string.media_err_malformed;

    } else if (extra == MediaPlayer.MEDIA_ERROR_TIMED_OUT) {
        /*  Added in API level 17
            Some operation takes too long to complete, usually more than 3-5 seconds.
            Constant Value: -110 (0xffffff92)
        */
        messageId = R.string.media_err_timeout;

    } else if (what == MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK) {
        /*  Added in API level 3
            The video is streamed and its container is not valid for progressive playback i.e the video's index (e.g moov atom) is not at the start of the file.
            Constant Value: 200 (0x000000c8)
        */
        messageId = R.string.media_err_invalid_progressive_playback;

    } else {
        /*  MediaPlayer.MEDIA_ERROR_UNKNOWN
            Added in API level 1
            Unspecified media player error.
            Constant Value: 1 (0x00000001)
        */
        /*  MediaPlayer.MEDIA_ERROR_SERVER_DIED)
            Added in API level 1
            Media server died. In this case, the application must release the MediaPlayer object and instantiate a new one.
            Constant Value: 100 (0x00000064)
         */
        messageId = R.string.media_err_unknown;
    }
    return context.getString(messageId);
}