Maybe this will help you (if you can get access to AVPlayer object and want to change the volume of your playing Asset), I use such code for modifying volume in my AVPlayer while playing video.
- (void)setVolume:(CGFloat)volumeToSet forPlayer:(AVPlayer *)avPlayer {
AVURLAsset *asset = (AVURLAsset *) [[avPlayer currentItem] asset];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) {
AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:volumeToSet atTime:kCMTimeZero];
[audioInputParams setTrackID:[track trackID]];
[allAudioParams addObject:audioInputParams];
}
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];
[[avPlayer currentItem] setAudioMix:audioZeroMix];
}
More details about this solution here Adjusting the volume of a playing AVPlayer
If you would like to change device's volume look here, this is workaround and may broke in some iOS versions, but works now in iOS 7, iOS 8, iOS 9 (tested it).
iOS 9: How to change volume programmatically without showing system sound bar popup?