2012-06-13 2 views
0

Guys я получаю ошибки с включением UISlider в моем аудио приложение, любой совет будет большим, это мое первое приложение, и я новичок ...аудио в моем приложении, играть пауза ползунок

Трек отлично работает, прекращается, но когда я пытаюсь пропустить приложение, я уверен, что я что-то пропустил, просто понадоблюсь свежий взгляд на код, надеюсь, что кто-то может посоветовать ...

NoGraceViewController.h

#import <UIKit/UIKit.h> 
#import <AVFoundation/AVFoundation.h> 

@interface NoGraceViewController : UIViewController<AVAudioPlayerDelegate> { 
    AVAudioPlayer *audioPlayer; 
    UISlider *volumeControl; 
} 

@property(nonatomic,retain)IBOutlet UISlider *volumeControl; 
@property(nonatomic,retain) AVAudioPlayer *audioPlayer; 
@property (weak, nonatomic) IBOutlet UITextField *timeLabel; 
@property (weak, nonatomic) IBOutlet UISlider *skipSlider; 

-(IBAction) nograceButton; 

-(IBAction)playbutton; 

-(IBAction)stopbutton; 

-(IBAction)skipSliderMoved; 

@end 

NoGraceViewController.m

#import "NoGraceViewController.h" 

@interface NoGraceViewController() 

@end 

@implementation NoGraceViewController 
@synthesize skipSlider; 
@synthesize timeLabel; 

-(IBAction) nograceButton { 
    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"http://itunes.apple.com/us/album/no-grace-original-mix-single/id392597812?uo=4"]]; 
} 

@synthesize audioPlayer; 

- (IBAction)playbutton 
{ 
    [audioPlayer play]; 

} 

-(IBAction)stopbutton 
{ 
    [audioPlayer stop]; 
} 

- (IBAction)skipSliderMoved:(UISlider *)sender { 
    self.audioPlayer.currentTime = self.audioPlayer.duration*sender.value; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"001.mp3" ofType:nil]]; 

    NSError *error; 
    audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error]; 
    if (error) 
    { 
     NSLog(@"Error in audioPlayer: %@", 
       [error localizedDescription]); 
    } else { 
     audioPlayer.delegate = self; 
     [audioPlayer prepareToPlay]; 
    } 

} 

- (void)viewDidUnload { 
    [self setSkipSlider:nil]; 
    [self setTimeLabel:nil]; 

    self.volumeControl=nil; 
    self.audioPlayer=nil; 
} 

-(void)updateDisplay { 
    self.skipSlider.value = self.audioPlayer.currentTime/self.audioPlayer.duration; 
    NSString *timeString = [[NSString alloc] initWithFormat:@"%d:%02d", (int) self.audioPlayer.currentTime/60,(int) self.audioPlayer.currentTime % 60]; 
    self.timeLabel.text = timeString; 
} 

@end 

ответ

1

Попробуйте это:

self.audioPlayer.currentTime = (self.audioPlayer.duration/100) * sender.value; 
Смежные вопросы