- #import <UIKit/UIKit.h>
- #import <AVFoundation/AVFoundation.h>
- @interface MyMusicViewController : UIViewController <AVAudioPlayerDelegate>{
- AVAudioPlayer *player;
- UISlider *soundSlider;
- }
- @end
- - (void)loadView {
- [super loadView];
- UIButton *startButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
- UIButton *stopButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
- [stopButton setShowsTouchWhenHighlighted:YES];
- [startButton setShowsTouchWhenHighlighted:YES];
- stopButton.frame = CGRectMake(110, 0, 100, 50);
- startButton.frame = CGRectMake(0, 0, 100, 50);
- [stopButton setTitle:@"stop" forState:UIControlStateNormal];
- [startButton setTitle:@"start" forState:UIControlStateNormal];
- [stopButton addTarget:self action:@selector(stopButton:) forControlEvents:UIControlEventTouchDown];
- [startButton addTarget:self action:@selector(startButton:) forControlEvents:UIControlEventTouchDown];
- soundSlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 120, 210, 10)];
- [soundSlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
- soundSlider.value = 0.5;
- player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"music" ofType:@"mp3"]] error:nil];
- player.delegate = self;
- //播放时间设置 以秒为单位 ,numberofLoops 设置音乐的循环次数
- player.currentTime = 142.8;
- //声音的大小初始设置
- player.volume = soundSlider.value;
- //播放之前,加入音频队列
- [player prepareToPlay];
- [player play];
- //声道数目
- NSLog(@"%d",player.numberOfChannels);
- [self.view addSubview:stopButton];
- [self.view addSubview:startButton];
- [self.view addSubview:soundSlider];
- }
- - (void)sliderValueChanged:(id)sender {
- UISlider *mySlider = (UISlider *)sender;
- NSLog(@"myslider:%f",mySlider.value);
- player.volume = mySlider.value;
- }
- - (void)startButton:(id)sender {
- player.currentTime = 142.8;
- [player play];
- }
- - (void)stopButton:(id)sender {
- [player stop];
- }
- - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)avplayer successfully:(BOOL)flag {
- NSLog(@"end");
- }