如何在iOS上设置VLCMediaPlayer的音量?

时间:2016-09-10 03:01:31

标签: ios objective-c audio libvlc

我正在使用来自CocoaPods的MobileVLCKit形式的MobileVLCKit-prod version 2.7.9

我正在以这种方式初始化VLCMediaPlayer

VLCMediaPlyer *player;
....
player=[[VLCMediaPlayer alloc] init];
player.delegate=self;
VLCMedia * media;
media=[VLCMedia mediaWithURL:@"UrlOfRemoteAudiFile"]

我没有设置player.drawable,因为我只需要音频而远程文件不包含视频流。

音频文件正常播放。暂停/恢复工作。 但是我无法改变音量:player.audio.volume返回0,尝试在区间0..200中分配player.audio.volume值被忽略而音量没有变化。

我目前正在测试 iOS9

到目前为止,我找到的唯一解决方案是改变系统容量。

1 个答案:

答案 0 :(得分:0)

我发现这样做的唯一方法(部分基于来自ttps的代码://stackoverflow.com/questions/33168497/ios-9-how-to-change-volume-programmatically-without-showing-system-sound- bar-po)只是改变系统容量。 像这样的代码。

- (void) fakeSystemVolumeSetup:(float)newValue {
    MPVolumeView* volumeView = [[MPVolumeView alloc] init];

    // Get the Volume Slider
    UISlider* volumeViewSlider = nil;

    for (UIView *view in [volumeView subviews]){
        if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
            volumeViewSlider = (UISlider*)view;
            break;
        }
    }

    // Fake the volume setting
    [volumeViewSlider setValue:newValue animated:YES];
    [volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
}

它起作用,事实证明,让系统指标处于活动状态对于这个项目来说更好。