Как отключить воспроизведение видео в AVPlayer?

Я воспроизвожу видео в AVPlayer, и теперь мне нужно отключить звук во время воспроизведения. Пожалуйста, предложите, как это сделать в объективном C.

Спасибо, Суреш

Ответы

Ответ 2

Это должно увидеть вас...

AVURLAsset *asset = [[avPlayer currentItem] asset];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];

// Mute all the audio tracks
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) {
    AVMutableAudioMixInputParameters *audioInputParams =    [AVMutableAudioMixInputParameters audioMixInputParameters];
    [audioInputParams setVolume:0.0 atTime:kCMTimeZero];
    [audioInputParams setTrackID:[track trackID]];
    [allAudioParams addObject:audioInputParams];
}
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];

[[avPlayer currentItem] setAudioMix:audioZeroMix];

Ответ 3

SWIFT 2.0 и SWIFT 3.0 (по состоянию на 5 июля 2017 года)

Для тех из вас, кто интересуется Swift, просто просто:

self.avPlayer.muted = true

EASIEST для OBJECTIVE-C:

self.avPlayer.muted = true;

Ответ 4

Вам нужно установить приглушенный false, когда видео воспроизводит статус.

добавить слушателя:

[itemPlayer addObserver:self
             forKeyPath:kStatusKey
                options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
                context:@"AVPlayerStatus"];

код:

-(void)observeValueForKeyPath:(NSString *)path ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if (context == @"AVPlayerStatus") {
        AVPlayerStatus status = [[change objectForKey:NSKeyValueChangeNewKey] integerValue];
        switch (status) {
            case AVPlayerStatusReadyToPlay: {
                if (isMuted) {
                    layerPlayer.player.muted = true;
                }
            }
            default:
                break;
        }
    }
}

Ответ 5

Для Swift 4 выше, чтобы отключить AVPlayer видео

self.player.isMuted = true

Ответ 6

player.isMuted = true не работает для меня.

В моем случае видео постоянно отключено. Поэтому я использовал приведенный ниже код для достижения этой цели.

self.player.volume = 0.0