我正在使用来自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 。
到目前为止,我找到的唯一解决方案是改变系统容量。
答案 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];
}
它起作用,事实证明,让系统指标处于活动状态对于这个项目来说更好。