在视图中添加视频播放器 和 音频播放器
来源:互联网 发布:2015nba体测数据 编辑:程序博客网 时间:2024/06/03 13:35
#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;
}
- 在视图中添加视频播放器 和 音频播放器
- 在Android中播放音频和视频
- 在Android中播放音频和视频
- 在Android中播放音频和视频
- 在Android中播放音频和视频
- 视频音频播放器
- php中调用播放器播放视频音频
- 音频播放和视频播放
- 在Android中播放音频和视频--值得学习
- 音频和视频播放
- iOS 视频音频播放器
- [IOS]对视频、音频播放器添加缓冲进度条
- [IOS]对视频、音频播放器添加缓冲进度条
- [IOS]对视频、音频播放器添加缓冲进度条
- [IOS]对视频、音频播放器添加缓冲进度条
- [IOS]对视频、音频播放器添加缓冲进度条
- 5.HTML5 音频和视频-2 (自定义播放器)
- 基于jQuery的视频和音频播放器jPlayer
- Unity 动画曲线-AnimationCurve 实例
- android studio 中SVN中 的使用(翻译)
- eclipse切换工作空间,工程报错。context等报错
- The currently displayed page contains invalid values eclipse
- ANSIC标准提供的预定义宏
- 在视图中添加视频播放器 和 音频播放器
- Web APP - Java和js交互(web app与native app)
- BING++: A Fast High Quality Object Proposal Generator at 100fps
- MFC中,多个Button响应同一个事件
- Android开发-DrawerLayout实现侧滑菜单(1)
- 仿煎蛋jiandan应用客户端源码
- 单链表的操作(C语言实现)
- LeetCode 225 Implement Stack using Queues
- qt中如果使用svg格式的图片在QPainter中绘制图形