iOS – 程序內調節音量: – iPhone手機開發技術文章 iPhone軟體開發教學課程

在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;

簡單說就是用這個即可設置耳機音量。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *