在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;
簡單說就是用這個即可設置耳機音量。