2011-05-25 77 views

回答

9

這應該看穿你...

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

感謝您的信息。 – Suresh 2011-06-06 04:50:54

+0

我已經嘗試過這種方法,但它在模擬器中不起作用。我正在使用AVPlayer播放.mov文件。你能建議任何其他解決方案嗎? – Suresh 2011-06-06 09:52:08

+0

工程就像一個魅力!謝謝!! – gilm 2012-02-28 19:55:32

3

SWIFT 2.0和SWIFT 3.0(截至2017年7月5日)

對於那些好奇的雨燕它只是簡單:

self.avPlayer.muted = true 

目標-C的最簡單方式:

self.avPlayer.muted = true; 
+0

不能在swift中工作3.0,我該怎麼做到這一點? – 2017-09-10 18:55:54

+0

抱歉它不適合你Vineesh。它正在使用我的Swift 3.0和3.1。它可能是你去過的其他變量嗎? – BennyTheNerd 2017-09-11 16:18:05

相關問題