iOS控制音量

Diz*_*zzy 5 iphone objective-c ipad ios

我正在播放这样的声音:

#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
..
..
SystemSoundID soundID;
NSString *path = [[NSBundle mainBundle]
   pathForResource:@"ClickSound" ofType:@"wav"];    

AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path],&soundID);
AudioServicesPlaySystemSound (soundID);
Run Code Online (Sandbox Code Playgroud)

它似乎从'Ringer'获取它的音量,但是当我使用物理音量按钮时它控制'音量'(所以我可以'静音'音量 - 但我仍然听到声音).

我想控制正确的音量,我不希望它在静音时播放(顺便说一下 - 当我使用静音切换它工作时,我听不到声音).

我该如何解决?

Ere*_*rez 2

AudioServicesCreateSystemSound 仅适用于铃声音量。

您可以使用 AVAudioPlayer 来实现此目的。这是一些示例代码:

AVAudioPlayer *buttonClick=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:[[NSString alloc] initWithFormat:@"buttonClick"] ofType:@"mp3"]] error:NULL];
[buttonClick prepareToPlay];
[buttonClick play];
Run Code Online (Sandbox Code Playgroud)