set volume of AVQueuePlayer
I have use AVQue开发者_StackOverflowuePlayer to play two video at the same time, Now I have some problem in my application. I want to mute the video while it is playing . But there is no method found to set volume.
Can any one help me to set volume in AVQueuePlayer.
Thanks in advance
AVQueuePlayer
is just a subclass of AVPlayer
, so setting the volume just like on an AVPlayer
should work (Note: I haven't tested it yet)
To see how to set the volume on an AVPlayer
take a look at this.
AVAsset *asset;
NSArray *playerTracks;
NSMutableArray *playerParams;
AVMutableAudioMix *muteAudioMix;
for (int k=0; k<[[audio items] count]; k++)
{
asset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[soundfile objectAtIndex:k+([soundfile count]-[[audio items] count])] ofType:@"mp3"]] options:nil];
playerTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
playerParams = [NSMutableArray array];
for (AVAssetTrack *track in playerTracks) {
AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:1.0 atTime:kCMTimeZero];
[audioInputParams setTrackID:[track trackID]];
[playerParams addObject:audioInputParams];
}
muteAudioMix = [AVMutableAudioMix audioMix];
[muteAudioMix setInputParameters:playerParams];
[[[audio items] objectAtIndex:k] setAudioMix:muteAudioMix];
}
精彩评论