0

我开发了一个具有音频播放功能的 iOS 应用程序。我使用进度视图播放音频并使用水平滑块进行音量控制。

2 我需要帮助的事情:

  1. 进度视图是不可编辑的。我的意思是,当曲目正在播放时,用户应该能够将它拖到某个点并从那里播放。与 iOS 音乐应用或 Spotify 相同??

  2. 音量滑块允许用户调整音量,但它不能与 iOS 设备音频一起使用。这意味着,当音频电平发生变化时,它应该在实际设备上发生变化。

这是我的代码:

NSString *stringPath = [[NSBundle mainBundle]pathForResource:@"01" ofType:@"MP3"];
NSURL *url = [NSURL fileURLWithPath:stringPath];




NSError *error;

avPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];

[avPlayer setNumberOfLoops:2];

[avPlayer setVolume:self.sliderVolumeOutlet.value];

[avPlayer stop];

[NSTimer scheduledTimerWithTimeInterval:.1 target:self selector:@selector(updateMyProgress) userInfo:nil repeats:YES];


-(void)updateMyProgress
{
    float progress = [avPlayer currentTime]/[avPlayer duration];
    self.myProgressView.progress = progress;
}

- (IBAction)sliderVolumeAction:(id)sender {
    UISlider *mySlider = sender;
    [avPlayer setVolume:mySlider.value];
}

- (IBAction)stopButton:(id)sender {
    [avPlayer stop];
    [avPlayer setCurrentTime:0];
}

- (IBAction)pauseButton:(id)sender {
    [avPlayer pause];
}


- (IBAction)playButton:(id)sender {

    [avPlayer play];

}

- (IBAction)backButtonEvent:(id)sender {
    [self dismissViewControllerAnimated:YES completion:NULL];
}


- (void)viewWillDisappear:(BOOL)animated
{
    [avPlayer stop];
}
4

1 回答 1

0
  1. 使用UISlider而不是进度视图。

  2. 用于MPVolumeView音量控制。只需将它放在您的视图层次结构中,它就可以在没有任何额外接线的情况下工作。

于 2013-10-02T15:46:49.527 回答