【问题标题】:Changing volume slider position when volume buttons pressed按下音量按钮时更改音量滑块位置
【发布时间】:2017-06-27 10:28:40
【问题描述】:

如何将音量按钮与音量滑块连接起来?

我正在使用 AVAudioPlayer 并且滑块音量和物理音量按钮工作正常,但问题是它们是单独工作的,所以我需要实现的是,当我通过音量滑块按下物理音量按钮时也会改变位置。

我的代码如下:

-(IBAction)btnClked:(id)sender {

    NSURL *musicFile;

    musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                        pathForResource:@"music"
                                        ofType:@"mp3"]];

    myAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

    [self.button setBackgroundImage:[UIImage imageNamed:@"Play.png"] forState:UIControlStateNormal];

    if (self.button.tag == 0) {
        self.button.tag = 1;
        [self.button setImage:[UIImage imageNamed:@"Stop.png"] forState:UIControlStateNormal];

        [myAudio play];
        myAudio.numberOfLoops = -1;
        myAudio.currentTime = 0;
        myAudio.volume = 0.5;

    } else {
        self.button.tag = 0;
        [self.button setImage:[UIImage imageNamed:@"Play.png"] forState:UIControlStateNormal];
        [myAudio stop];

    }
}

我的滑块更改方法如下所示:

- (IBAction)sliderChange:(UISlider *)sender {
    myAudio.volume = sender.value / 1;
}

提前致谢!

【问题讨论】:

  • 使用 MPVolumeView 就可以了 :)

标签: ios objective-c uislider


【解决方案1】:

使用此 MPVolumeView 设置音量滑块,您可以按照自己的方式自定义...

- (void)showTheVolumeSlider :(UIView *)viewVolumeParent{

    MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:viewVolumeParent.bounds] ;
    volumeView.showsRouteButton = NO;
    [viewVolumeParent addSubview:volumeView];
//    [volumeView setVolumeThumbImage:[UIImage imageNamed:@"thumb.png"] forState:UIControlStateNormal];

    [[volumeView subviews] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        if ([obj isKindOfClass:[UISlider class]]) {

            [obj setThumbImage:[UIImage imageNamed:@"thumb.png"]forState:UIControlStateNormal];
            *stop = YES;
        }
    }];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    相关资源
    最近更新 更多