com.google.android.exoplayer2.util.Log.e()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(7.5k)|赞(0)|评价(0)|浏览(175)

本文整理了Java中com.google.android.exoplayer2.util.Log.e()方法的一些代码示例,展示了Log.e()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Log.e()方法的具体详情如下:
包路径:com.google.android.exoplayer2.util.Log
类名称:Log
方法名:e

Log.e介绍

暂无

代码示例

代码示例来源:origin: google/ExoPlayer

/**
 * Logs an error message and exception.
 *
 * @param msg The message to log.
 * @param tr The exception to log.
 */
protected void loge(String msg, @Nullable Throwable tr) {
 Log.e(tag, msg, tr);
}

代码示例来源:origin: google/ExoPlayer

/**
 * Closes the current connection quietly, if there is one.
 */
private void closeConnectionQuietly() {
 if (connection != null) {
  try {
   connection.disconnect();
  } catch (Exception e) {
   Log.e(TAG, "Unexpected error while disconnecting", e);
  }
  connection = null;
 }
}

代码示例来源:origin: google/ExoPlayer

/** @see android.util.Log#e(String, String, Throwable) */
public static void e(String tag, String message, @Nullable Throwable throwable) {
 if (!logStackTraces) {
  e(tag, appendThrowableMessage(message, throwable));
 }
 if (logLevel <= LOG_LEVEL_ERROR) {
  android.util.Log.e(tag, message, throwable);
 }
}

代码示例来源:origin: google/ExoPlayer

@Override
public void flush(int sampleRateHz, int channelCount, int encoding) {
 try {
  reset();
 } catch (IOException e) {
  Log.e(TAG, "Error resetting", e);
 }
 this.sampleRateHz = sampleRateHz;
 this.channelCount = channelCount;
 this.encoding = encoding;
}

代码示例来源:origin: google/ExoPlayer

private void onUtcTimestampResolutionError(IOException error) {
 Log.e(TAG, "Failed to resolve UtcTiming element.", error);
 // Be optimistic and continue in the hope that the device clock is correct.
 processManifest(true);
}

代码示例来源:origin: google/ExoPlayer

@Override
public void onSessionStartFailed(CastSession castSession, int statusCode) {
 Log.e(TAG, "Session start failed. Error code " + statusCode + ": "
   + CastUtils.getLogString(statusCode));
}

代码示例来源:origin: google/ExoPlayer

@Override
public void onSessionResumeFailed(CastSession castSession, int statusCode) {
 Log.e(TAG, "Session resume failed. Error code " + statusCode + ": "
   + CastUtils.getLogString(statusCode));
}

代码示例来源:origin: google/ExoPlayer

@Override
public TrackOutput track(int id, int type) {
 for (int i = 0; i < trackTypes.length; i++) {
  if (type == trackTypes[i]) {
   return sampleQueues[i];
  }
 }
 Log.e(TAG, "Unmatched track of type: " + type);
 return new DummyTrackOutput();
}

代码示例来源:origin: google/ExoPlayer

/**
 * Optional call to warm the codec cache for a given mime type.
 * <p>
 * Calling this method may speed up subsequent calls to {@link #getDecoderInfo(String, boolean)}
 * and {@link #getDecoderInfos(String, boolean)}.
 *
 * @param mimeType The mime type.
 * @param secure Whether the decoder is required to support secure decryption. Always pass false
 *     unless secure decryption really is required.
 */
public static void warmDecoderInfoCache(String mimeType, boolean secure) {
 try {
  getDecoderInfos(mimeType, secure);
 } catch (DecoderQueryException e) {
  // Codec warming is best effort, so we can swallow the exception.
  Log.e(TAG, "Codec warming failed", e);
 }
}

代码示例来源:origin: google/ExoPlayer

private void sendMessageToTargetThread(final PlayerMessage message) {
 Handler handler = message.getHandler();
 handler.post(
   () -> {
    try {
     deliverMessage(message);
    } catch (ExoPlaybackException e) {
     Log.e(TAG, "Unexpected error delivering message on external thread.", e);
     throw new RuntimeException(e);
    }
   });
}

代码示例来源:origin: google/ExoPlayer

private void saveActions() {
 if (released) {
  return;
 }
 final DownloadAction[] actions = new DownloadAction[tasks.size()];
 for (int i = 0; i < tasks.size(); i++) {
  actions[i] = tasks.get(i).action;
 }
 fileIOHandler.post(
   () -> {
    try {
     actionFile.store(actions);
     logd("Actions persisted.");
    } catch (IOException e) {
     Log.e(TAG, "Persisting actions failed.", e);
    }
   });
}

代码示例来源:origin: google/ExoPlayer

private boolean restoreKeys() {
 try {
  mediaDrm.restoreKeys(sessionId, offlineLicenseKeySetId);
  return true;
 } catch (Exception e) {
  Log.e(TAG, "Error trying to restore Widevine keys.", e);
  onError(e);
 }
 return false;
}

代码示例来源:origin: google/ExoPlayer

@Override
public void requirementsNotMet(RequirementsWatcher requirementsWatcher) {
 try {
  notifyService();
 } catch (Exception e) {
  /* Do nothing. The service isn't running anyway. */
 }
 if (scheduler != null) {
  String servicePackage = context.getPackageName();
  boolean success = scheduler.schedule(requirements, servicePackage, ACTION_RESTART);
  if (!success) {
   Log.e(TAG, "Scheduling downloads failed.");
  }
 }
}

代码示例来源:origin: google/ExoPlayer

@Override
public void handleBuffer(ByteBuffer buffer) {
 try {
  maybePrepareFile();
  writeBuffer(buffer);
 } catch (IOException e) {
  Log.e(TAG, "Error writing data", e);
 }
}

代码示例来源:origin: google/ExoPlayer

@Override
public synchronized void release() {
 if (released) {
  return;
 }
 listeners.clear();
 removeStaleSpans();
 try {
  index.store();
 } catch (CacheException e) {
  Log.e(TAG, "Storing index file failed", e);
 } finally {
  unlockFolder(cacheDir);
  released = true;
 }
}

代码示例来源:origin: google/ExoPlayer

@Override
public synchronized void onSpanRemoved(Cache cache, CacheSpan span) {
 Region removedRegion = new Region(span.position, span.position + span.length);
 // Look up a region this span falls into.
 Region floorRegion = regions.floor(removedRegion);
 if (floorRegion == null) {
  Log.e(TAG, "Removed a span we were not aware of");
  return;
 }
 // Remove it.
 regions.remove(floorRegion);
 // Add new floor and ceiling regions, if necessary.
 if (floorRegion.startOffset < removedRegion.startOffset) {
  Region newFloorRegion = new Region(floorRegion.startOffset, removedRegion.startOffset);
  int index = Arrays.binarySearch(chunkIndex.offsets, newFloorRegion.endOffset);
  newFloorRegion.endOffsetIndex = index < 0 ? -index - 2 : index;
  regions.add(newFloorRegion);
 }
 if (floorRegion.endOffset > removedRegion.endOffset) {
  Region newCeilingRegion = new Region(removedRegion.endOffset + 1, floorRegion.endOffset);
  newCeilingRegion.endOffsetIndex = floorRegion.endOffsetIndex;
  regions.add(newCeilingRegion);
 }
}

代码示例来源:origin: google/ExoPlayer

public void release() {
 updatePeriodTrackSelectorResult(null);
 try {
  if (info.id.endPositionUs != C.TIME_END_OF_SOURCE) {
   mediaSource.releasePeriod(((ClippingMediaPeriod) mediaPeriod).mediaPeriod);
  } else {
   mediaSource.releasePeriod(mediaPeriod);
  }
 } catch (RuntimeException e) {
  // There's nothing we can do.
  Log.e(TAG, "Period release failed.", e);
 }
}

代码示例来源:origin: google/ExoPlayer

@Override
 public void onResult(@NonNull MediaChannelResult result) {
  int statusCode = result.getStatus().getStatusCode();
  if (statusCode != CastStatusCodes.SUCCESS && statusCode != CastStatusCodes.REPLACED) {
   Log.e(TAG, "Seek failed. Error code " + statusCode + ": "
     + CastUtils.getLogString(statusCode));
  }
  if (--pendingSeekCount == 0) {
   pendingSeekWindowIndex = C.INDEX_UNSET;
   pendingSeekPositionMs = C.TIME_UNSET;
   for (EventListener listener : listeners) {
    listener.onSeekProcessed();
   }
  }
 }
}

代码示例来源:origin: google/ExoPlayer

private void maybeNotifyInternalError(String name, Exception cause) {
 String message = "Internal error in " + name;
 Log.e(TAG, message, cause);
 // We can't recover from an unexpected error in general, so skip all remaining ads.
 if (adPlaybackState == null) {
  adPlaybackState = AdPlaybackState.NONE;
 } else {
  for (int i = 0; i < adPlaybackState.adGroupCount; i++) {
   adPlaybackState = adPlaybackState.withSkippedAdGroup(i);
  }
 }
 updateAdPlaybackState();
 if (eventListener != null) {
  eventListener.onAdLoadError(
    AdLoadException.createForUnexpected(new RuntimeException(message, cause)),
    new DataSpec(adTagUri));
 }
}

代码示例来源:origin: google/ExoPlayer

/**
 * If there is an OpenGl error, logs the error and if {@link
 * ExoPlayerLibraryInfo#GL_ASSERTIONS_ENABLED} is true throws a {@link RuntimeException}.
 */
public static void checkGlError() {
 int error = GLES20.glGetError();
 int lastError;
 if (error != GLES20.GL_NO_ERROR) {
  do {
   lastError = error;
   Log.e(TAG, "glError " + gluErrorString(lastError));
   error = GLES20.glGetError();
  } while (error != GLES20.GL_NO_ERROR);
  if (ExoPlayerLibraryInfo.GL_ASSERTIONS_ENABLED) {
   throw new RuntimeException("glError " + gluErrorString(lastError));
  }
 }
}

相关文章

微信公众号

最新文章

更多