【问题标题】:How to set volume of VLCMediaPlayer on iOS?如何在 iOS 上设置 VLCMediaPlayer 的音量?
【发布时间】:2016-09-10 03:01:30
【问题描述】:

我正在使用来自 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 上进行测试。

到目前为止,我发现的唯一可行的解​​决方案是更改系统音量。

【问题讨论】:

    标签: ios objective-c audio libvlc


    【解决方案1】:

    我发现这样做的唯一方法(部分基于来自 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];
    }
    

    效果很好,结果表明激活系统指示器对这个项目来说更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 2018-09-12
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多