在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;
简单说就是用这个即可设置耳机音量。
原文:http://blog.csdn.net/ifziv/article/details/18228741