2017-01-10 28 views
-1

我是iOS應用開發新手,我的需求是需要在播放時訪問進度滑塊,並顯示正確的開始和結束時間,播放器正在使用網址流,可以你請幫我給一些示例代碼,以解決這個問題,在此先感謝。音頻播放器在目標c中顯示定時器的進度滑塊

+0

檢查此URL http://stackoverflow.com/questions/27970317/how-to-pause-an-audio-and-its-timer-slider-in-ios –

回答

0

enter image description here請找到下面的代碼。我在Xcode 8測試版已經測試了2

ViewController.h

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 
@end 

ViewController.m

#import "ViewController.h" 
#import <AVFoundation/AVFoundation.h> 

@interface ViewController() 
{ 
    IBOutlet UISlider  *sliderView; 
    IBOutlet UILabel  *lblTimeInterval; 
    AVAudioPlayer   *avpPlayer; 
} 
@end 

@implementation ViewController 
@synthesize strName; 
@synthesize strTitle; 
@synthesize trackCount; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    //First comment added to Proj. 
    //New Branch one is created by Team. 

} 


- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 


- (IBAction)progrssSlider { 
    avpPlayer.currentTime = sliderView.value; 
} 

- (void)updateTime:(NSTimer *)timer { 
    sliderView.value = avpPlayer.currentTime; 

    lblTimeInterval.text = [NSString stringWithFormat:@"%f",sliderView.value]; 

} 

- (IBAction)pressPlayButton:(id)sender { 

    //Read sound file from resource folder 
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sample.mp3" ofType:nil]]; 


    //Initialize AVAudioPlayer 
    NSError *error; 
    avpPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 

    //Check Player is initialized 
    if (!avpPlayer){ 
     NSLog(@"Error: %@", error); 
    } 
    else 
    { 
     [avpPlayer prepareToPlay]; 
     sliderView.maximumValue = [avpPlayer duration]; 
     sliderView.value = 0.0; 

     [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES]; 
     [avpPlayer play]; 
    } 


} 

@end 

請定義的UILabel顯示時間,UISlider來更新滑塊和XIB播放按鈕。

希望這會起作用。

相關問題