在iOS设备中音量分为耳机音量和手机音量,二者相互独立:但是不管耳机还是 手机都是调用一种方法改变音量, 在设备上有耳机的时候改变耳机音量,没有耳机的时候改变手机音量。
在github中有一个开源项目:SystemVolumeNativeExtension . (点击获取链接)
在解压后找到 SystemVolumeNativeExtension/IOSVolumeLib/IOSVolumeLib/IOSVolumeLib.m 这个文件.
不用看太多,只需要关注:
float getVolumeLevel() { MPVolumeView *slide = [MPVolumeView new]; UISlider *volumeViewSlider; for (UIView *view in [slide subviews]) { if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) { volumeViewSlider = (UISlider *) view; } } float val = [volumeViewSlider value]; [slide release]; return val; }
&
FREObject setVolume(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) { double newVolume; FREGetObjectAsDouble(argv[0], &newVolume); [[MPMusicPlayerController applicationMusicPlayer] setVolume: newVolume]; return NULL; }
如个你觉得这也有些繁琐: 那你直接使用:
[[MPMusicPlayerController applicationMusicPlayer] setVolume: newVolume];newVolume的范围是 0 ~ 1;
简单说就是用这个即可设置耳机音量。