iOS AVAudioPlayer简单的MP3播放

- (void)viewDidLoad {

    [super viewDidLoad];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    [button setFrame:CGRectMake(100, 100, 60, 40)];

    [button setTitle:@"Play" forState:UIControlStateNormal];

    [button addTarget:self action:@selector(play) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];

    

    UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    [button1 setFrame:CGRectMake(100, 150, 60, 40)];

    [button1 setTitle:@"pause" forState:UIControlStateNormal];

    [button1 addTarget:self action:@selector(pause) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button1];

    

     UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    [button2 setFrame:CGRectMake(100, 200, 60, 40)];

    [button2 setTitle:@"stop" forState:UIControlStateNormal];

    [button2 addTarget:self action:@selector(stop) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button2];

    

    NSString *path = [[NSBundle mainBundle] pathForResource:@"MP3Sample" ofType:@"mp3"];

    NSURL *url = [NSURL URLWithString:path];

    //每个AVAudioPlayer只能播放一个音乐文件,如果需要播放多次,需要创建多次

    self.avAudioPalayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];

    self.avAudioPalayer.delegate = self;

    self.avAudioPalayer.volume = 1;//初始化音量

    self.avAudioPalayer.numberOfLoops = -1;//设置音乐播放次数  -1为一直循环

    [self.avAudioPalayer prepareToPlay];//预播放

    

    self.progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(20, 50, 200, 20)];

    [self.view addSubview:self.progressView];

    

    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(playProgress) userInfo:nil repeats:YES];

    

    self.slider = [[UISlider alloc]initWithFrame:CGRectMake(20, 70, 200, 20)];

    [self.slider addTarget:self action:@selector(volumeChange)

                          forControlEvents:UIControlEventValueChanged];

    self.slider.minimumValue = 1.0;

    self.slider.maximumValue = 10.0;

    self.slider.value = 5.0;

    [self.view addSubview:self.slider];

}

- (void)volumeChange

{

    self.avAudioPalayer.volume = self.slider.value;

}

- (void)playProgress

{



    self.progressView.progress = self.avAudioPalayer.currentTime/self.avAudioPalayer.duration;

}

- (void)play

{

    [self.avAudioPalayer play];

}

- (void)pause

{

    [self.avAudioPalayer pause];

}

- (void)stop

{

    self.avAudioPalayer.currentTime = 0;

    [self.avAudioPalayer stop];

}

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

{

    [self.timer invalidate];

}

允许效果

你可能感兴趣的:(play)