在Android应用程序中使用ExoPlayer API进行视频播放
2023-08-23次
javaTrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory();
DefaultTrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
player.setTrackSelector(trackSelector);
float brightness = 0.1f;
float contrast = 1.2f;
trackSelector.setParameters(
trackSelector.buildUponParameters().setRendererDisabled(0, false)
.setRendererColorInfo(0,
new ColorInfo(ColorSpace.get(ColorSpace.Named.SRGB), ColorTransferCharacteristic
.get(ColorTransferCharacteristic.Named.SMPTE2084), ColorRange.get(ColorRange.Named
.LIMITED), null))
.setRendererScaleMode(0, RendererCapabilities.SCALE_MODE_RESIZE)
.setRendererMaxDroppedFramesToNotify(0, 50)
.setRendererVideoScalingMode(0, C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING)
.setRendererVideoFrameMetadataListener(0, new FrameMetadataListener() {
@Override
public void onVideoFrameAboutToBeRendered(long presentationTimeUs, long releaseTimeNs,
Format format, @Nullable MediaFormat mediaFormat) {
// Adjust the brightness and contrast of the video frame.
videoFrameProcessor.adjustBrightness(brightness);
videoFrameProcessor.adjustContrast(contrast);
}
}));
上述代码创建了一个AdaptiveTrackSelection.Factory对象,并将其传