Ios 带滑块和iphone按钮的AVPlayer音量控制

Ios 带滑块和iphone按钮的AVPlayer音量控制,ios,iphone,objective-c,avplayer,volume,Ios,Iphone,Objective C,Avplayer,Volume,我有一个无线流媒体播放器,我创建了一个滑块来控制播放器的音量 -(void)adjustVolume { if (self.player != nil) { NSLog(@"Adjusting volume..."); self.player.volume = volumeControl.value; NSLog(@"%f",self.player.volume); } } 我需要将滑块的值连接到按下音量按钮时的值。例如

我有一个无线流媒体播放器,我创建了一个滑块来控制播放器的音量

-(void)adjustVolume
{
    if (self.player != nil)
    {
        NSLog(@"Adjusting volume...");
        self.player.volume = volumeControl.value;
         NSLog(@"%f",self.player.volume);
    }
}
我需要将滑块的值连接到按下音量按钮时的值。例如,如果我将滑块移动到50%,然后按下手机侧面的音量增大按钮,我需要它从50%增加,因为这是我通过滑块设置的音量

我该怎么做

稍后编辑:

有了这段代码,我在按下音量键的同时更新了滑块,但是我不能再拖动滑块了,因为它总是随着系统音量而更新

audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];

volume = audioSession.outputVolume;
volumeControl.value = volume;
NSTimer *volumeTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateSound) userInfo:nil repeats:YES];
和更新查找:

- (void)updateSound{
    volume = audioSession.outputVolume;
    volumeControl.value = volume;
}

移动滑块时如何更改系统音量?我试图为audioSession.outputVolume赋予一个值,但当然,它不是这样工作的。

您可以收听音量更改通知

[[NSNotificationCenter defaultCenter]
 addObserver:self
 selector:@selector(volumeChanged:)
 name:@"AVSystemController_SystemVolumeDidChangeNotification"
 object:nil];
您的选择器将如下所示

- (void)volumeChanged:(NSNotification *)notification
{
    float volume =
    [[[notification userInfo]
      objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]
     floatValue];

    // Do stuff with volume
}

终于找到了我想要做的事情的解决方案

我删除了上述所有代码,并将MediaPlayer框架包含在我的.h文件中,此代码包含在我的.m文件中:

   UIView *wrapperView = [[UIView alloc] initWithFrame:CGRectMake(30, 350, 260, 20)];
    wrapperView.backgroundColor = [UIColor clearColor];
    [self.view addSubview:wrapperView];

    MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: wrapperView.bounds];
    [wrapperView addSubview:volumeView];

希望这对其他人也有帮助。

我是一个初学者,如果这是一个愚蠢的问题,那么很抱歉。。在启动音频会话后,我尝试将第一位代码添加到viewDidLoad,但在按下音量按钮时却一无所获。我在volumeChanged方法中的注释后记录音量浮动。它应该记录一些东西…对吗?我做错什么了吗?根据,您需要初始化一个音频会话以使此调用正常工作。是的..我尝试像这样初始化音频会话
AudioSessionInitialize(NULL,NULL,NULL,NULL);AudioSessionSetActive(正确)但仍然没有。我还收到两行的通知:在IOS7中已弃用,因此@Merlevede建议的代码根本不起作用..什么也不做。是否有任何方法可以使用滑块影响系统音量?我完全没有主意了。。