Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何使AVPlayer中播放的视频静音?_Objective C_Avplayer - Fatal编程技术网

Objective c 如何使AVPlayer中播放的视频静音?

Objective c 如何使AVPlayer中播放的视频静音?,objective-c,avplayer,Objective C,Avplayer,我在AVPlayer中播放视频,现在我需要在播放时将音频单独静音。请建议在目标C中如何做 谢谢, Suresh这会帮你度过难关 AVURLAsset *asset = [[avPlayer currentItem] asset]; NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio]; // Mute all the audio tracks NSMutableArray *allAudioParams = [N

我在AVPlayer中播放视频,现在我需要在播放时将音频单独静音。请建议在目标C中如何做

谢谢,
Suresh

这会帮你度过难关

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

自iOS7以来,您可以将AVPlayer
ismute
属性设置为
true

在目标C中,该属性被称为
静音


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

对于那些对Swift感兴趣的人来说,它只是:

self.avPlayer.muted = true
目标C的最简单方法:

self.avPlayer.muted = true;

当视频处于播放状态时,需要将muted设置为false

添加侦听器:

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


用于上面的Swift 4使AVPlayer视频静音

self.player.isMuted = true

player.ismute=true
对我无效

在我的情况下,我需要视频永久静音。所以我使用下面的代码来实现这一点

self.player.volume = 0.0

我尝试过这种方法,但它在模拟器中不起作用。我正在使用AVPlayer播放.mov文件。你能推荐其他解决方案吗?我发现这样做会中断你可能通过音乐应用程序或iTunes等播放的任何音乐。有没有办法继续在后台播放音乐?太好了,只需将第一个“AVURLAsset”更改为“AVAsset”,它就完美了。这看起来非常复杂,没有?self.avPlayer.mute=true;self.avPlayer.muted=true;更新为Swift 3Sorry,不适合你Vinesh。它正在为我的Swift 3.0和3.1工作。这可能是其他变量,你有去那里?这个属性不会静音的音频。我的情况下,我已经测试了上述代码,然后张贴在这里。
self.player.volume = 0.0