Bitmovin Player React Native SDK - v1.6.0
    Preparing search index...

    Type Alias MetadataEntry

    Union type representing all supported timed metadata entry kinds.

    This is a discriminated union over the metadataType field:

    Branching on metadataType using an if/switch statement narrows the type and gives access to entry-specific fields.

    function handleMetadata(entry: MetadataEntry) {
    switch (entry.metadataType) {
    case MetadataType.DATERANGE:
    // `entry` is a DateRangeMetadataEntry
    if (entry.platform === 'android') {
    // `entry` is now an AndroidDateRangeMetadataEntry
    console.log('End on next:', entry.endOnNext);
    } else {
    // `entry` is now an IosDateRangeMetadataEntry
    console.log('Cueing options:', entry.cueingOptions);
    }
    break;

    case MetadataType.SCTE:
    // `entry` is a ScteMetadataEntry
    console.log('SCTE key:', entry.key, 'value:', entry.value);
    break;

    case MetadataType.ID3:
    // `entry` is an Id3MetadataEntry
    if (entry.platform === 'android') {
    // `entry` is now an AndroidId3Frame
    console.log('Frame type:', entry.frameType);
    // Further narrow down on the frame type
    if (entry.frameType == 'apic') {
    console.log('APIC frame mimeType: ', entry.mimeType)
    }
    } else {
    // `entry` is now an IosId3Frame
    console.log('Frame ID:', entry.id, 'Value:', entry.value);
    }
    // Or use isAndroidId3Frame to directly narrow to specific Android frame
    if (isAndroidId3Frame(entry, 'text')) {
    console.log('Text frame:', entry.value);
    }
    break;

    case MetadataType.EMSG:
    // `entry` is an EventMessageMetadataEntry (Android only)
    console.log('EMSG data:', entry.messageData);
    break;

    case MetadataType.Unsupported:
    // `entry` is an UnsupportedMetadataEntry
    console.warn('Unsupported metadata encountered from: ', entry.platform)
    break;
    }
    }