在视图中添加视频播放器 和 音频播放器

来源:互联网 发布:2015nba体测数据 编辑:程序博客网 时间:2024/06/03 13:35
视频播放器 MPMoviePlayerController


#import "RootViewController.h"

#import <MediaPlayer/MediaPlayer.h>


@interface RootViewController ()


@property(nonatomic, retain) MPMoviePlayerController *moviePlayer;


@end


@implementation RootViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    self.view.backgroundColor = [UIColor whiteColor];

    

    NSString *urlStr = [[NSBundle mainBundle]pathForResource:@"abc" ofType:@"mp4"];

    

    NSURL *url = [NSURL fileURLWithPath:urlStr];

    

    self.moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];

    

    self.moviePlayer.view.frame = self.view.frame;

    

    

    self.moviePlayer.repeatMode = YES; //循环播放

    

    

    //横竖屏自适应高度和宽度 

    self.moviewPlayer.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

    

    [self.view addSubview:self.moviewPlayer.view];

    

    [_moviewPlayer release];

    

    [self.moviewPlayer play];

    

    

}


-------------------------------------------------------------------------------------------

音频播放器 AVAudioPlayer




#import "RootViewController.h"


//引入框架

#import <AVFoundation/AVFoundation.h>


//签协议

@interface RootViewController ()<AVAudioPlayerDelegate>



//

@property(nonatomic ,retain )AVAudioPlayer * avAudioPlayer;



//跐溜滑

@property(nonatomic ,retain)UISlider * slider ;




//另一个跐溜滑

@property(nonatomic ,retain )UISlider * slider2;



//定时器


@property(nonatomic ,retain )NSTimer *timer ;




@end


@implementation RootViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view.

    

    self.navigationController.navigationBar.translucent = NO;


    self.view.backgroundColor = [UIColor cyanColor ] ;

    

    

    

    

    

    

    

    

    NSString * string = [[NSBundlemainBundle ] pathForResource:@"走在冷风中"ofType:@"mp3"];

    

   NSURL * url = [NSURLfileURLWithPath:string];

    

    

    self.avAudioPlayer = [[AVAudioPlayeralloc ]initWithContentsOfURL:urlerror:nil];

    

    self.avAudioPlayer.delegate =self;

    

    

    

  

    

//三个button

    UIButton *button = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    [buttonsetFrame:CGRectMake(150,150, 60, 40)];

    [button setTitle:@"Play"forState:UIControlStateNormal];

    [button addTarget:selfaction:@selector(play)forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:button];

    

    UIButton *button1 = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    [button1setFrame:CGRectMake(150,200, 60, 40)];

    [button1 setTitle:@"pause"forState:UIControlStateNormal];

    [button1 addTarget:selfaction:@selector(pause)forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:button1];

    

    UIButton *button2 = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    [button2setFrame:CGRectMake(150,250, 60, 40)];

    [button2 setTitle:@"stop"forState:UIControlStateNormal];

    [button2 addTarget:selfaction:@selector(stop)forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:button2];


    

    

    

//音量大小

    self.avAudioPlayer.volume =5;


    

    

    //设置音乐播放次数  -1为一直循环

    self.avAudioPlayer.numberOfLoops = -1;

    

    


//跐溜滑

   //声音

    self.slider = [[UISlideralloc ] initWithFrame:CGRectMake(100,100, 200, 30)];

    

    

    self.slider.minimumValue =0;

    

    self.slider.maximumValue =20;

    

    self.slider.value =self.avAudioPlayer.volume ;

    

    [self.slideraddTarget:selfaction:@selector(changeVoid:)forControlEvents:UIControlEventValueChanged];

    

    

    

    [self.viewaddSubview:self.slider];

    

    [_slider release];


    

    

    

    ///进度条

    

    self.slider2 = [[UISlideralloc ] initWithFrame:CGRectMake(100,50, 200, 30)];

    

    self.slider2.minimumValue =0 ;

    

    self.slider2.maximumValue =self.avAudioPlayer.duration ;//总时长

    

    self.slider2.value =0 ;

    

    [self.slider2addTarget:selfaction:@selector(changeTime:)forControlEvents:UIControlEventValueChanged];

    

    

    

    [self.viewaddSubview:self.slider2];

    

    [_slider2 release];


    

    

//开关 静音

    

   UISwitch *swith = [[UISwitchalloc] initWithFrame:CGRectMake(150,20, 60, 40)];

    [swith addTarget:selfaction:@selector(onOrOff:)forControlEvents:UIControlEventValueChanged];

    

    

    

    //默认状态为打开

    swith.on =YES;

    [self.viewaddSubview:swith];

    [swith release];

    


    


    

    

}




//播放

- (void)play

{

    [self.avAudioPlayerplay];

    

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

    

}



//暂停

- (void)pause

{

    [self.avAudioPlayerpause];

}



//停止

- (void)stop

{

    self.avAudioPlayer.currentTime =0//当前播放时间设置为0

    [self.avAudioPlayerstop];

}




-(void)changeVoid:(UISlider *)slider

{

    self.avAudioPlayer.volume = slider.value ;

    

}




-(void)changeTime:(id  ) slider

{

        self.avAudioPlayer.currentTime =self.slider2.value   ;

}



-(void)changeSlider2

{

    self.slider2.value =self.avAudioPlayer.currentTime  ;

    

   static int  i =0 ;

    

   NSLog(@"%d",i++);


}




//播放完成时调用的方法  (代理里的方法),需要设置代理才可以调用

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

{

    [self.timerinvalidate];//NSTimer暂停   invalidate 使...无效;

    


    

}



//声音开关(是否静音)

- (void)onOrOff:(UISwitch *)sender

{

    self.avAudioPlayer.volume = sender.on;

}






0 0
原创粉丝点击