AVAudioPlayer播放音频文件

在viewdidload 加载 [self didLoadAudioPlayer];
- (void) didLoadAudioPlayer{
    NSString * musicFilePath = @"/Users/Shared/test.mp3";      //创建音乐文件路径    
    NSURL * musicURL= [[NSURL alloc] initFileURLWithPath:musicFilePath];  
    
    AVAudioPlayer * thePlayer  = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL error:nil]; //创建播放器
    
    self.player = thePlayer;    //赋值给自己定义的类变量
    
    [musicURL release];
    [thePlayer release];
    
    
    [player setVolume:1];   //设置音量大小
    player.numberOfLoops = -1;//设置音乐播放次数  -1为一直循环    
       
     //用NSTimer来监控音频播放进度
     timer = [NSTimer scheduledTimerWithTimeInterval:0.1 
                                              target:self
                                            selector:@selector(playProgress)
                                            userInfo:nil repeats:YES];
    
}
//播放进度条
 - (void)playProgress {
     
    //通过音频播放时长的百分比,给progressview进行赋值;
     musicProcess.progress = player.currentTime/player.duration;
     
}
//播放完成时调用的方法 需要设置代理才可以调用
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {
    
     [timer invalidate]; //NSTimer暂停   invalidate  使...无效;
    
 }
- (IBAction)musicPlay:(id)sender {
    [player play];
    AudioSessionSetActive(true);
}
- (IBAction)musicStop:(id)sender {
    [player pause];
    AudioSessionSetActive(false);
}

posted @ 2012-11-15 11:55  沙影无痕  阅读(192)  评论(0编辑  收藏  举报