Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按下音量按钮时更改音量滑块位置_Ios_Objective C_Uislider - Fatal编程技术网

Ios 按下音量按钮时更改音量滑块位置

Ios 按下音量按钮时更改音量滑块位置,ios,objective-c,uislider,Ios,Objective C,Uislider,如何将音量按钮与音量滑块连接 我使用的是AVAudioPlayer和滑块音量和物理音量按钮工作正常,但问题是它们是分开工作的,所以我需要实现的是,当我按下物理音量按钮时,音量滑块也会改变位置 我的代码如下所示: -(IBAction)btnClked:(id)sender { NSURL *musicFile; musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]

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

我使用的是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设置音量滑块,您可以按自己的方式进行自定义

- (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;
        }
    }];
}

使用MPVolumeView,它将工作:)