2011-05-25 24 views

Respuesta

9

Esto debe ver a través ...

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]; 
+0

Gracias por su publicación. – Suresh

+0

He intentado este método, pero no está funcionando en el simulador. Estoy usando AVPlayer para reproducir el archivo .mov. ¿Puedes sugerir alguna otra solución? – Suresh

+0

funciona como un encanto! ¡¡gracias!! – gilm

3

SWIFT 2.0 y SWIFT 3.0(Como 5 de julio de 2017)

Para aquellos de ustedes curiosidad por Swift es simplemente:

self.avPlayer.muted = true 

La manera MÁS FÁCIL para OBJECTIVE-C:

self.avPlayer.muted = true; 
+0

no funciona en swift 3.0, ¿Cómo puedo lograrlo? –

+0

Lo siento, no está funcionando para usted Vineesh. Está trabajando en mi Swift 3.0 y 3.1. ¿Podrían ser otras variables las que tienes yendo allí? – BennyTheNerd