音频视频播放

文件结构

application

//

#import "ViewController.h"

#import "VideoViewController.h"

#import "MovieViewController.h"

@interface ViewController ()

{

//将类视图控制器设为全局变量

VideoViewController *_videoVC;

MovieViewController *_movieVC;

}

- (IBAction)doPlayAudioButton:(id)sender;

- (IBAction)doPlayMovieButton:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//点击进入音频页面

- (IBAction)doPlayAudioButton:(id)sender {

//判断视图控制器是否存在,如果不存在,初始化。

if (!_videoVC) {

_videoVC=[[VideoViewController alloc]init];

}

//将_videoVC控制的视图 设为将要进入的页面

[self.navigationController  pushViewController:_videoVC animated:YES];//yes带有动画效果

}

//点击进入视频页面

- (IBAction)doPlayMovieButton:(id)sender {

if (!_movieVC) {

_movieVC=[[MovieViewController alloc]init];

}

[self.navigationController pushViewController:_movieVC animated:YES];

}

@end

//

#import "ViewController.h"

#import "VideoViewController.h"

#import "MovieViewController.h"

@interface ViewController ()

{

//将类视图控制器设为全局变量

VideoViewController *_videoVC;

MovieViewController *_movieVC;

}

- (IBAction)doPlayAudioButton:(id)sender;

- (IBAction)doPlayMovieButton:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//点击进入音频页面

- (IBAction)doPlayAudioButton:(id)sender {

//判断视图控制器是否存在,如果不存在,初始化。

if (!_videoVC) {

_videoVC=[[VideoViewController alloc]init];

}

//将_videoVC控制的视图 设为将要进入的页面

[self.navigationController  pushViewController:_videoVC animated:YES];//yes带有动画效果

}

//点击进入视频页面

- (IBAction)doPlayMovieButton:(id)sender {

if (!_movieVC) {

_movieVC=[[MovieViewController alloc]init];

}

[self.navigationController pushViewController:_movieVC animated:YES];

}

@end//

#import "ViewController.h"

#import "VideoViewController.h"

#import "MovieViewController.h"

@interface ViewController ()

{

//将类视图控制器设为全局变量

VideoViewController *_videoVC;

MovieViewController *_movieVC;

}

- (IBAction)doPlayAudioButton:(id)sender;

- (IBAction)doPlayMovieButton:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//点击进入音频页面

- (IBAction)doPlayAudioButton:(id)sender {

//判断视图控制器是否存在,如果不存在,初始化。

if (!_videoVC) {

_videoVC=[[VideoViewController alloc]init];

}

//将_videoVC控制的视图 设为将要进入的页面

[self.navigationController  pushViewController:_videoVC animated:YES];//yes带有动画效果

}

//点击进入视频页面

- (IBAction)doPlayMovieButton:(id)sender {

if (!_movieVC) {

_movieVC=[[MovieViewController alloc]init];

}

[self.navigationController pushViewController:_movieVC animated:YES];

}

@end

音频

//

#import "VideoViewController.h"

#import <AVFoundation/AVFoundation.h>

@interface VideoViewController ()

{

AVAudioPlayer *_player;//播放文件的类

}

/*

IOS支持的音频格式:mp3,aac,alac,ima4,linear(wma?)

*/

@end

@implementation VideoViewController

- (void)viewDidLoad {

[super viewDidLoad];

[email protected]"音频";

//获取音频路径

NSString *musicPath=[[NSBundle mainBundle]pathForResource:@"简单爱" ofType:@"mp3"];

//建立连接对象(NSURL  做链接使用的类)

NSURL *url=[[NSURL alloc]initFileURLWithPath:musicPath];

NSError *error=nil;

_player=[[AVAudioPlayer alloc]

initWithContentsOfURL:url error:&error];//还有initWithData

[_player prepareToPlay];//准备播放(开始加载音频文件,确保player尽可能快地开始播放)

if (error) {

NSLog(@"错误信息:%@",[error localizedDescription]);

}

NSLog(@"1");

}

-(void)viewWillAppear:(BOOL)animated{

NSLog(@"2");

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (IBAction)doPlayButton:(id)sender {

[_player play];

}

- (IBAction)doPauseButton:(id)sender {

[_player pause];//暂停

//[_player  stop];//停止

/* stops playback. no longer ready to play. */

//    _player.currentTime=0;//从头开始

/* returns the current time associated with the output device */

}

- (IBAction)doGo5Button:(id)sender {

if (_player.currentTime<=_player.duration-5) {

_player.currentTime+=5;//当前时间变为五秒后时间

}

}

- (IBAction)doBack5Button:(id)sender {

if (_player.currentTime>=5) {

_player.currentTime-=5;

}

}

//音量

- (IBAction)doChangeVoice:(UISlider *)sender {

_player.volume=sender.value;

}

@end

视频

#import "MovieViewController.h"

#import <MediaPlayer/MediaPlayer.h>

@interface MovieViewController ()

{

MPMoviePlayerViewController *_player;

}

@end

@implementation MovieViewController

- (void)viewDidLoad {

[super viewDidLoad];

[email protected]"视频";

self.navigationController.navigationBarHidden=YES;//隐藏导航栏

NSString *moviePath=[[NSBundle mainBundle]pathForResource:@"hulala" ofType:@"mp4"];

//建立连接对象(NSURL  做链接使用的类)

NSURL *url=[[NSURL alloc]initFileURLWithPath:moviePath];

NSError *error=nil;

_player=[[MPMoviePlayerViewController alloc]initWithContentURL:url];

if (error) {

NSLog(@"错误信息:%@",[error localizedDescription]);

}

[_player.moviePlayer setScalingMode:MPMovieScalingModeAspectFit];

/*

MPMovieScalingModeNone //不对视频进行缩放

MPMovieScalingModeAspectFit,  // 视频缩放4:3

MPMovieScalingModeAspectFill, //  缩放到外框,4:3尺寸会隐藏一部分

MPMovieScalingModeFill        // 视频拉伸失去原本比例

*/

[_player.moviePlayer    setControlStyle:MPMovieControlStyleFullscreen];//充满全屏

/* MPMovieControlStyleNone,       // No controls

MPMovieControlStyleEmbedded,   // Controls for an embedded view

MPMovieControlStyleFullscreen, // Controls for fullscreen playback

MPMovieControlStyleDefault = MPMovieControlStyleEmbedded

*/

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(finshMoviePlay) name:MPMoviePlayerPlaybackDidFinishNotification  object:nil];

NSLog(@"1");

}

-(void)viewWillAppear:(BOOL)animated{

[self.view addSubview:_player.view];

}

-(void)finshMoviePlay

{

self.navigationController.navigationBarHidden=NO;

[self.navigationController  popToRootViewControllerAnimated:YES];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

时间: 2024-10-11 04:04:18

音频视频播放的相关文章

学习总结HTML5- 00 音频&amp;视频播放

一 音频播放 1 Audio(音频) HTML5提供了播放音频文件的标准 2 control(控制器) control属性攻添加播放,暂停和音量空间. 3 标签定义声音 <audio>

音频视频播放(jquery中将jquery方法转化成js方法)

在jQuery中没有音频视频直接播放的方法,我们在写音频视频时,应该将jquery的方法转化为js方法:play():pause() 补充:   将jq对象转化成js对象写法: var music=$("#music")[0];//将jq转化为js对象: 将js对象转化成jq对象: 这个对象已经存在,则只需要在此对象上加上$(),也即是$(对象) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&

mciSendCommand 音频视频播放命令函数

//打开设备 //typedef struct { //DWORD dwCallback;        //指定一个窗口句柄 //MCIDEVICEID wDeviceID;   //为成功打开的文件返回 设备标识符. //LPCSTR lpstrDeviceType;  //设备类型的名字或常量标识. (设备名可以从注册表或者 SYSTEM.INI 文件中获得) //LPCSTR lpstrElementName; //设备元素 (通常是打开的文件全路径). //LPCSTR lpstrAl

Android视频播放方案选择——深刻分析android平台的视频播放优缺点

https://zhuanlan.zhihu.com/p/27029577?utm_source=qq&utm_medium=social Android我还可以相信你多少系列文章二之音视频播放 音频视频播放在现在的应用里面很常见,传统应用发展到一定阶段多少会引入音视频资源,特别是现在短视频被看作下一个增长爆发点,和之相关的创业层出不穷,作为开发者如何进行音视频技术选型非常关键 MediaPlayer和VideoView给我们提供了非常方便的播放音视频的能力,几乎不需要要写几行代码就可以完成.

视频、音频

浏览器有一些插件可以实现多媒体文件的处理,有些插件需要安装,有些是浏览器自带的. 那如何告诉浏览器,我要处理的文件是个需要插件执行的文件呢? object 标签 定义一个嵌入的对象(图像.音频.视频.html.Java applets.ActiveX.PDF 以及 Flash)有以下属性:1. data: 规定对象使用的资源的 URL2. form: 规定对象所属的一个或多个表单ID3. height: 规定对象的高度4. width: 规定对象的宽度5. name: 为对象规定名称6. typ

HTML5音频播放,歌词同步,及视频播放功能(JPlayer、JWPlayer、VideoJS)

近期项目中用到音频视频播放.所以就写了一个demo: 这个是JPlayer插件的视频播放: 这个是音频播放,歌词同步: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <!--注意:在IIS上配置的时候,需加入mime映射,否则歌词出不来.在IIS列表中找到"MIME类型".进行加入.lrc类型;.mp4类型文件--> <head>     <

一个基于html5的video视频播放器

html5的video标签使得加载视频方便了许多,上午无事,做了一个小demo,包含了一些很基本的功能.播放,进度这些.主要是了解一下相关api. html: <!-- 视频 1 --> <div class="vsb-container" containerID="1" columns="1"> <div class="vsb-space sec_side_10 mb15 fluid clear"

H5音频和视频

使用媒体标签最大的缺点在于缺少编解码器的支持一.浏览器支持性检测检测浏览器是否支持audio元素或video元素最简单的方式就是用脚本动态创建它,然后检测特定函数是否存在 var hasVideo=!!(document.createElement('video').canPlayType); 这段脚本会动态创建一个video元素,然后检查canPlayType()函数是否存在.通过"!!"运算符将结果转换成布尔值,反映出是否创建成功,如果不成功的话就需要出发另一套脚本向页面中引入媒体

html5音频和视频标签

在html5之前的版本中如果想要在网页中插入音频和视频必须要安装插件才可以,比如最常见的flash插件.很多人在刚安装一款浏览器的时候都会遇到浏览器建议安装flash插件,在移动端也是如此.如果想要在手机上面看视频必须要安装flash插件,但是手机本身内存就很小这样无疑增加了手机处理器德尔压力所以苹果公司在2007年之后宣城自己的任何设备将不再支持flash插件,不就安卓也紧随其后,那么取而代之的就是用html标签.   在html中插入视频标签 <video src='movie.webm'>