AVPlayerItemTrack detecta si el tipo de medio es AVMediaTypeAudio y el volumen está silenciado

Uso el siguiente código usando el patrón KVO para detectar si un .m3u tiene un tipo de medio igual a AVMediaTypeAudio. Está funcionando, pero el problema que tengo es este. Necesito detectar si el tipo de medio que es la pista de audio tiene el volumen activado para mostrar u ocultar el botón de volumen en la vista. ¡Algunos videos pueden tener una pista de audio y un sonido de audio, pero algunos pueden tener una pista de audio y es posible que no tengan sonido! ¿Hay alguna forma de detectar esto? Cualquier ayuda apreciada.

NSLog(@"track triggered");
AVPlayerItem *playerItem = (AVPlayerItem *)object;
NSArray<AVPlayerItemTrack *> *alltracks = playerItem.tracks;
NSLog(@"tracks: %lu - %@", alltracks.count,playerItem);

    BOOL hasAudio = [alltracks linq_any:^BOOL(id item) {
        AVPlayerItemTrack* track = item;
        NSLog(@"Tracks from asset: %@",[track assetTrack]);
        if ([[track assetTrack].mediaType isEqualToString:@"soun"])
        {
        NSLog(@"tracks mediatype: %@",[track assetTrack].mediaType);
        }
        return [track assetTrack].mediaType == AVMediaTypeAudio;
    }];
NSLog(@"tracks hasaudio: %i",hasAudio);

La salida de NSLog devuelve un sonido de tipo de medio incluso si la pista tiene sonido de audio o no tiene sonido de audio

Tracks from asset: <AVAssetTrack: 0x600000ea2190, trackID = 36, mediaType = soun>

Answer