IOS开发-视频,音频,录音简单总结
/*****
* 1. 视频播放
*
* @格式:mp4 mov m4v m2v 3gp 3g2
*
* @系统框架使用:#import <MediaPlayer/MediaPlayer.h>
不仅可以播放本地视频 也可以直接播放网络视频
MPMoviePlayerController 播放视频的类,这个类比较特殊,有Controller的一些属性,但又不完全是控制器
有两点需要注意:
1.MPMoviePlayerController 上面播放视频 的view 需要给它坐标
2.还需要添加在 某个视图上面
******/
MPMoviePlayerController播放时也需要有一个URL。
1.设置视频是否循环播放:repeatMode
2.是否允许分享到airPlay:allowsAirPlay
3.是否使用lairPlay:airPlayVideoActive
4.如果播放的是网络视频的话 是否需要自动继续播放:shouldAutoplay
5.获得视频加载状态:loadState
6.视频的播放状态:playbackState
7.设置视频显示样式:controlStyle
还有一些通知,如MPMoviePlayerPlaybackStateDidChangeNotification通过通知可以检测播放状态发生改变,
*如果前面设置了controlStyle,后面设置的setFullscreen 将不会起作用
2.
AVAudioPlayer音频播放类
AVAudioRecorder录音类
录音的初始化和属性和音频播放大同小异
共有的有:
音频:
1.开始:play 2.暂停:pause 3.停止:stop 预加载:prepareToPlay
4.代理AVAudioRecorderDelegate 如:播放结束时触发- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
录音:
1.开始:record 2.暂停:pause 3.停止:stop 预加载:prepareToRecord
4.代理AVAudioPlayerDelegate 如:录音结束时触发(void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag
拓展:
1.进度 是按百分比计算(0到1之间)
progressView.progress = 0.0;
2.NSFileManager文件管理类 也是一个单例
NSFileManager *manager = [NSFileManager defaultManager];
其中有一个重要常用的方法
查询并取出一个文件下所有子文件:subpathsAtPath
如:查询临时文件下的子文件:NSArray *list = [manager subpathsAtPath:NSTemporaryDirectory()];
3.例子
//1.音频文件的url路径
18 NSURL *url=[[NSBundle mainBundle]URLForResource:@"风吹麦浪.mp3" withExtension:nil]; 20 //2.创建播放器
21 self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSUURL fileURLWithPath:url]
error:nil];
23 //3.缓冲
24 [self.player prepareToPlay]; 29 //开始播放/继续播放
30 [self.player play];
34 //暂停
35 [self.player pause];
36 //停止
37 //注意:如果点击了stop,那么一定要让播放器重新创建,否则会出现问题哦
38 [self.player stop];
IOS开发-视频,音频,录音简单总结的更多相关文章
- IOS开发之音频--录音
前言:本篇介绍录音. 关于录音,这里提供更为详细的讲解网址:http://www.cnblogs.com/kenshincui/p/4186022.html#audioRecord ,并且该博客有更 ...
- iOS开发拓展篇-XMPP简单介绍
iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双 ...
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- iOS开发UI篇—Kvc简单介绍
ios开发UI篇—Kvc简单介绍 一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observ ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- iOS开发UI篇—UIWindow简单介绍
iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...
- iOS开发UI篇—Quartz2D简单介绍
iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...
随机推荐
- 深入理解Linux修改hostname 转
当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛.技术活,切勿浅尝则止! ...
- CSS 实现:checkbox
<div class="wrap"> <label>性别:</label> <div class="cb-wrap"& ...
- C# 扩展方法 总结
扩展方法是静态方法,它是类的一部分,但实际上没有放在类的源代码中. 设计一个Money类 public class Money { private decimal amount; public dec ...
- Codeforces Round #297 (Div. 2)
A题 题目大意: 给你一个字符串,奇数的时候是钥匙,偶数的时候是门,一把钥匙只能开对应的门,然后问你最少额外需要多少把钥匙. 分析: 用的数组记录一下就行,(注意的是先开门,再拿钥匙!开始错在这里了, ...
- Java--接口和类集框架
一.接口 接口是静态常量和抽象方法的集合.也就是说,接口中只能有静态常量和抽象方法. public interface Pet { public static final int A = 10; pu ...
- DEF2015丨腾讯优测携专业云测试服务,亮相中国(成都)数字娱乐节
近年来,随着APP的大量涌出,“软件质量保证”这个话题又被拉进了人们的视野.作为备受用户信赖的移动云测试平台,腾讯优测受邀参加11月19日-21日由GMGC主办的中国(成都)数字娱乐节(简称DEF20 ...
- centos彻底删除文件夹、文件命令(centos 新建、删除、移动、复制等命令)
centos彻底删除文件夹.文件命令(centos 新建.删除.移动.复制等命令: 1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 view source1 mkdir ...
- SAP采购订单屏幕增强
转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...
- c#实现数据的左补右补功能
/// <summary> /// 左補右補功能 /// </summary> /// <param name="st ...
- js部分---for循环练习题
1有一张0.0001米的纸,对折多少次可以达到珠穆朗玛峰的高度8848: <script> /*var h=0.0001; var biao=0; for(;;) { h=h*2; if( ...