本文整理匯總了Java中com.google.android.exoplayer2.ExoPlaybackException.TYPE_RENDERER屬性的典型用法代碼示例。如果您正苦於以下問題:Java ExoPlaybackException.TYPE_RENDERER屬性的具體用法?Java ExoPlaybackException.TYPE_RENDERER怎麽用?Java ExoPlaybackException.TYPE_RENDERER使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類com.google.android.exoplayer2.ExoPlaybackException
的用法示例。
在下文中一共展示了ExoPlaybackException.TYPE_RENDERER屬性的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException error) {
int errorMessageResourceId = R.string.error_stream_unknown;
switch (error.type) {
case ExoPlaybackException.TYPE_SOURCE:
Timber.e(error,"exo player error TYPE_SOURCE");
errorMessageResourceId = R.string.error_stream_io;
break;
case ExoPlaybackException.TYPE_RENDERER:
Timber.e(error,"exo player error TYPE_RENDERER");
errorMessageResourceId = R.string.error_stream_unsupported;
break;
case ExoPlaybackException.TYPE_UNEXPECTED:
Timber.e(error,"exo player error TYPE_UNEXPECTED");
break;
}
listener.onVideoError(errorMessageResourceId);
}
示例2: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException error)
{
final String what;
switch (error.type) {
case ExoPlaybackException.TYPE_SOURCE:
what = error.getSourceException().getMessage();
break;
case ExoPlaybackException.TYPE_RENDERER:
what = error.getRendererException().getMessage();
break;
case ExoPlaybackException.TYPE_UNEXPECTED:
what = error.getUnexpectedException().getMessage();
break;
default:
what = "Unknown: " + error;
}
LogHelper.e(TAG, "ExoPlayer error: what=" + what);
if (callback != null) {
callback.onError("ExoPlayer error " + what);
}
}
示例3: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException e) {
String errorString = null;
if (e.type == ExoPlaybackException.TYPE_RENDERER) {
Exception cause = e.getRendererException();
if (cause instanceof MediaCodecRenderer.DecoderInitializationException) {
// Special case for decoder initialization failures.
MediaCodecRenderer.DecoderInitializationException decoderInitializationException =
(MediaCodecRenderer.DecoderInitializationException) cause;
if (decoderInitializationException.decoderName == null) {
if (decoderInitializationException.getCause() instanceof MediaCodecUtil.DecoderQueryException) {
errorString = getResources().getString(R.string.error_querying_decoders);
} else if (decoderInitializationException.secureDecoderRequired) {
errorString = getResources().getString(R.string.error_no_secure_decoder,
decoderInitializationException.mimeType);
} else {
errorString = getResources().getString(R.string.error_no_decoder,
decoderInitializationException.mimeType);
}
} else {
errorString = getResources().getString(R.string.error_instantiating_decoder,
decoderInitializationException.decoderName);
}
}
}
if (errorString != null) {
eventEmitter.error(errorString, e);
}
playerNeedsSource = true;
}
示例4: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException e) {
String errorString = null;
if (e.type == ExoPlaybackException.TYPE_RENDERER) {
Exception cause = e.getRendererException();
if (cause instanceof DecoderInitializationException) {
// Special case for decoder initialization failures.
DecoderInitializationException decoderInitializationException =
(DecoderInitializationException) cause;
if (decoderInitializationException.decoderName == null) {
if (decoderInitializationException.getCause() instanceof DecoderQueryException) {
errorString = getString(R.string.error_querying_decoders);
} else if (decoderInitializationException.secureDecoderRequired) {
errorString = getString(R.string.error_no_secure_decoder,
decoderInitializationException.mimeType);
} else {
errorString = getString(R.string.error_no_decoder,
decoderInitializationException.mimeType);
}
} else {
errorString = getString(R.string.error_instantiating_decoder,
decoderInitializationException.decoderName);
}
}
}
if (errorString != null) {
showToast(errorString);
}
playerNeedsSource = true;
if (isBehindLiveWindow(e)) {
clearResumePosition();
initializePlayer();
} else {
updateResumePosition();
updateButtonVisibilities();
showControls();
}
}
示例5: onPlayerError
/**
* Called when an error occurs. The playback state will transition to {@link ExoPlayer#STATE_IDLE}
* immediately after this method is called. The player instance can still be used, and
* {@link #release()} must still be called on the player should it no longer be required.
*
* @param e The error.
*/
@Override
public void onPlayerError(ExoPlaybackException e) {
MediaError error = null;
if (e == null) {
error = new MediaError(MediaError.ERROR_UNKNOWN);
} else {
if (e.type == ExoPlaybackException.TYPE_RENDERER) {
Exception cause = e.getRendererException();
if (cause instanceof MediaCodecRenderer.DecoderInitializationException) {
// Special case for decoder initialization failures.
MediaCodecRenderer.DecoderInitializationException decoderInitializationException =
(MediaCodecRenderer.DecoderInitializationException) cause;
if (decoderInitializationException.decoderName == null) {
if (decoderInitializationException.getCause() instanceof MediaCodecUtil.DecoderQueryException) {
error = new MediaError(MediaError.EXO_ERROR_QUERYING_DECODERS);
} else if (decoderInitializationException.secureDecoderRequired) {
error = new MediaError(MediaError.EXO_ERROR_NO_SECURE_DECODER);
} else {
error = new MediaError(MediaError.EXO_ERROR_NO_DECODER);
}
} else {
error = new MediaError(MediaError.EXO_ERROR_INSTANTIATING_DECODER);
}
}
}
}
if (error == null) {
error = new MediaError(MediaError.ERROR_UNKNOWN);
}
notifyOnError(error);
PlayerLog.d(TAG, "onPlayerError " + error.toString());
}
示例6: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException e) {
String errorString = null;
if (e.type == ExoPlaybackException.TYPE_RENDERER) {
Exception cause = e.getRendererException();
if (cause instanceof MediaCodecRenderer.DecoderInitializationException) {
// Special case for decoder initialization failures.
MediaCodecRenderer.DecoderInitializationException decoderInitializationException =
(MediaCodecRenderer.DecoderInitializationException) cause;
if (decoderInitializationException.decoderName == null) {
if (decoderInitializationException.getCause() instanceof MediaCodecUtil.DecoderQueryException) {
errorString = context.getString(R.string.error_querying_decoders);
} else if (decoderInitializationException.secureDecoderRequired) {
errorString = context.getString(R.string.error_no_secure_decoder,
decoderInitializationException.mimeType);
} else {
errorString = context.getString(R.string.error_no_decoder,
decoderInitializationException.mimeType);
}
} else {
errorString = context.getString(R.string.error_instantiating_decoder,
decoderInitializationException.decoderName);
}
}
}
if (errorString != null) {
showToast(errorString);
}
if (isBehindLiveWindow(e)) {
clearResumePosition();
initializePlayer();
} else {
updateResumePosition();
}
}
示例7: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException e) {
String errorString = null;
if (e.type == ExoPlaybackException.TYPE_RENDERER) {
Exception cause = e.getRendererException();
if (cause instanceof DecoderInitializationException) {
// Special case for decoder initialization failures.
DecoderInitializationException decoderInitializationException = (DecoderInitializationException) cause;
if (decoderInitializationException.decoderName == null) {
if (decoderInitializationException.getCause() instanceof DecoderQueryException) {
errorString = getString(R.string.error_querying_decoders);
} else if (decoderInitializationException.secureDecoderRequired) {
errorString = getString(R.string.error_no_secure_decoder,
decoderInitializationException.mimeType);
} else {
errorString = getString(R.string.error_no_decoder,
decoderInitializationException.mimeType);
}
} else {
errorString = getString(R.string.error_instantiating_decoder,
decoderInitializationException.decoderName);
}
}
}
if (errorString != null) {
showToast(errorString);
}
playerNeedsSource = true;
// updateButtonVisibilities();
// showControls();
}
示例8: onPlayerError
@Override
public void onPlayerError(ExoPlaybackException e) {
String errorString = null;
if (e.type == ExoPlaybackException.TYPE_RENDERER) {
Exception cause = e.getRendererException();
if (cause instanceof DecoderInitializationException) {
// Special case for decoder initialization failures.
DecoderInitializationException decoderInitializationException =
(DecoderInitializationException) cause;
if (decoderInitializationException.decoderName == null) {
if (decoderInitializationException.getCause() instanceof DecoderQueryException) {
errorString = getString(R.string.error_querying_decoders);
} else if (decoderInitializationException.secureDecoderRequired) {
errorString = getString(R.string.error_no_secure_decoder,
decoderInitializationException.mimeType);
} else {
errorString = getString(R.string.error_no_decoder,
decoderInitializationException.mimeType);
}
} else {
errorString = getString(R.string.error_instantiating_decoder,
decoderInitializationException.decoderName);
}
}
}
if (errorString != null) {
showToast(errorString);
}
playerNeedsSource = true;
updateButtonVisibilities();
showControls();
}