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

Posted

技术标签:

【中文标题】如何在 iOS 上设置 VLCMediaPlayer 的音量?【英文标题】:How to set volume of VLCMediaPlayer on iOS? 【发布时间】: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 上进行测试。

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何在 iOS 上设置 VLCMediaPlayer 的音量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android 和 ios 收到的推送通知上设置徽章?

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

如何让 iOS 在 UIBarButtonItem 图像上设置渐变?

如何设置 flutter_socket_io 插件以在 iOS 上工作

如何在 UIImageView iOS 上设置阴影渐变图像

如何在所有 iOS 设备上设置自动布局?