您的位置:首页 > 移动开发 > IOS开发

iOS中AVPlayer的在线播放和播放进度条,音量条以及AVPlayer的后台播放

2015-02-04 19:47 531 查看
//以下代码用storyboard托控件实现

//导入头文件

#import <AVFoundation/AVFoundation.h>

@interface
OnlineViewController ()

//播放器

@property (nonatomic,strong)AVPlayer *avPlayer;

//监控进度

@property (nonatomic,strong)NSTimer *avTimer;

//进度条(托控件)

@property (weak,
nonatomic) IBOutletUISlider *progress;

//音量条(托控件)

@property (weak,
nonatomic) IBOutletUISlider *volume;

@end

@implementation OnlineViewController

- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view.

    

    

    //mp3播放网址

    NSString *str =@"http://fdfs.xmcdn.com/group4/M02/28/FA/wKgDtFM052_jBsKhAAvPQEMti4w713.mp3";

   NSURL *url = [NSURLURLWithString:str];

    //播放器初始化
   self.avPlayer = [[AVPlayeralloc]initWithURL:url];

    

    //设置播放器初始音量
   self.avPlayer.volume =1;

    

    //监控播放进度

    self.avTimer = [NSTimerscheduledTimerWithTimeInterval:0.1target:selfselector:@selector(timer)userInfo:nilrepeats:YES];

    

    //初始0音量
   self.volume.value =5.0f;

    //设置最大值最小值音量

    self.volume.maximumValue =10.0f;

    self.volume.minimumValue =0.0f;

    
}

//监控播放进度方法
- (void)timer
{

    self.progress.value
= CMTimeGetSeconds(self.avPlayer.currentItem.currentTime)
/ CMTimeGetSeconds(self.avPlayer.currentItem.duration);
}

//开始
- (IBAction)play:(id)sender {

    
    [self.avPlayerplay];

    
}

//暂停
- (IBAction)pause:(id)sender {

    
    [self.avPlayerpause];

    

    
}

//音量方法
- (IBAction)volum:(id)sender {

    

    self.avPlayer.volume =self.volume.value;

    
}

AVPlayer的后台播放方法, 首先在AppDelegate的方法里写入
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions {

AVAudioSession *audioSession = [AVAudioSessionsharedInstance];

    //默认情况下扬声器播放

    [audioSession setCategory:AVAudioSessionCategoryPlaybackerror:nil];
    [audioSessionsetActive:YESerror:nil];

    
}
之后在info文件里修改

这样就可以实现后台播放功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐