最近在做一个视频的Demo,当然是仿的别人的,现贴出原文地址:http://code4app.com/forum.php?mod=viewthread&tid=8959&highlight=%E8%A7%86%E9%A2%91

,欢迎大家支持原作者。当然我的只是仿照的,不过平常没有用到过的方法我都写出了注释,不懂得可以探讨。

https://github.com/losedMemory/ZSAVPlayerVideo 这是我在github上传的源码,欢迎大家下载,如有问题请指正。

现在列出一些写这个Demo出现的问题。

1. 控制器继承自MPMoviePlayerController,但是这个类是找不到的,要引入头文件@importMediaPlayer;

2. 当前播放控制器MPMoviePlayerController 的属性currentPlaybackTime(当前播放装置播放视频的时间)和duration(视频持续的时间)计量单位是秒,一般的话都是转化成分钟:秒,或者小时:分钟:秒

3.关于运算符的问题:

& 不管前面的条件是否正确,后面都执行
&& 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好
 
4.关于旋转屏幕的方法:

(1)通过人为的view.transform属性
(2) 通过setOrientation:的办法强制性的旋转到一个特定的方向,这是一个私有的API,上架应用使用会被苹果拒绝,在Demo中使用的就是私有的API,当然大家也可以在网上搜第一种方法。
 
5.获取音量控件 但是这个音量控件是一个私有的类,不能手动创建,只能这样获取MPVolumeSlider

MPVolumeView *volumeView = [[MPVolumeViewalloc]init];
   
    volumeView.center = CGPointMake(0, 0);
   
    [self.view addSubview:volumeView];
   
    self.volumSlider = nil;
   
    for (UIView *view in volumeView.subviews) {
       
        //在MPVolumeViews中找一个slider的类
        if ([view.class.description isEqualToString:@"MPVolumeSlider"]) {
           
            self.volumSlider  = (UISlider *)view;
           
            break;
        }
    }
 
6. setNeedsLayout重新布局  水平滑动快进退,需要将快进退视图进行重新布局,如果不重新布局,快进退时间指示器只显示默认的图片,不会根据手势显示不同的图片
 
7.注册观察者,这里是监听系统的亮度:“brightness”,但是我注册的时候使用的self,不是用的[UIScreen mainScreen],导致一直崩溃报错信息

Terminating app due to uncaught exception 'NSRangeException', reason: 'Cannot remove an observer <ZSPlayerVideoBrightnessView 0x7fe6b586b010> for the key path "brightness" from <UIScreen 0x7fe6b3407f20> because it is not registered as an observer.'

8.关于使用网上是这么解释的:不定期地会发生某些事件,对事件的发生需要作出响应,但是不希望对每个相同的事件作出响应,大意就是对于滑动手势调节音量/亮度/进度只需要到最后让指示器隐藏即可。

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(animationHide) object:nil];

//主线程中调用,异步执行

[self performSelector:@selector(animationHide) withObject:nil afterDelay:kBrightnessAutoFadeInterval];

 
 

关于基本视频播放的Demo的更多相关文章

  1. ios 视频播放代码Demo

    方法一: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. / ...

  2. UIBPlayer (视频播放)demo分享

    本文出自APICloud官方论坛 UIBPlayer 封装了百度云播放器 SDK.本模块带有UI方案,打开后为一个具有完整功能的播放器界面.百度云播放器突破 Android.iOS 平台对视频格式的限 ...

  3. 用法简单的图片和视频播放的框架Demo

    最近在恶补自己不足的基础知识,偶然在一个QQ群里看到作为同行业的大神们在开源自己的代码.并且在炫耀说让我们找Bug,于是出于好奇就看了下,点开了一个关于图片和视频播放的Demo.也就是接下来我要说的这 ...

  4. Android使用VideoView播放本地视频及网络视频Demo

    1.xm文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...

  5. win7 x64 vs2010 directShow开发环境配置

    近来工作需要,要用dirrectShow写一个视频播放的demo验证自己的想法.开发环境配置了好久都没有成功,最后终于弄完,现在记录下来,以后有同学遇到同样问题,可以以此法解决. windows SD ...

  6. 非常有用的GitHub链接

    平常开发工作中,我经常取Github上搜索项目,Clone下来学习使用,在这个过程中,发现了好多比较好的Github地址,记录下来,分享出去. image 非常有用的GitHub链接(顺序不分先后): ...

  7. github视频录制播放相关功能-参考

    lookingstars/JZVideoDemo  视频播放器 Updated on 11 Aug Objective-C 15 10 caoguoqing/VideoEditDemo  iOS vi ...

  8. 网页背景H5视频自动播放---PC端、移动端兼容问题完美解决方案(IOS、安卓、微信端)

    最近公司官网需要使用视频当做banner背景且自动播放,并且因为是官网需要做到PC端和移动端都可以适配兼容,这些问题很是头疼: 兵来将挡,水来土掩,进过查阅相关技术资料,现已完美兼容PC端和移动端.下 ...

  9. 分享整理vue.js在日常工作中用到的组件,帮助你在vue应用中快速开发

    Vue-Echarts vue-echarts是封装后的vue插件, 基于 ECharts v4.0.1+ 开发,依赖 Vue.js v2.2.6+,功能一样的只是把它封装成vue插件 这样更方便以v ...

随机推荐

  1. struts2修改文件上传的大小

    那天写了一个web上传图片的程序,明明修改了上传文件的默认值(2M),可就是一直没有起作用 <action name="fileupload" class="upl ...

  2. Spring Boot 系列教程7-EasyUI-datagrid

    jQueryEasyUI jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要 ...

  3. runtime基础知识

    看到一篇不错的runtime方面博客: 引言 相信很多同学都听过运行时,但是我相信还是有很多同学不了解什么是运行时,到底在项目开发中怎么用?什么时候适合使用?想想我们的项目中,到底在哪里使用过运行时呢 ...

  4. wifi 3G 流量

    // //  flowStatis.c //  Test // //  Created by iXcoder on 12-7-19. //  Copyright (c) 2012年 iXcoder. ...

  5. mapreduce 依赖组合

    mport java.io.IOException;import java.util.StringTokenizer; import org.apache.hadoop.conf.Configurat ...

  6. stray '/241' in program 错误

    意思是c/c++中的编译错误. 该错误是指源程序中有非法字符,需要去掉非法字符.一般是由于从别的地方粘贴过来造成的. 方法:1.把所粘的文字放到记事本里就行了 2.把出错行的空格删掉重新打一下试试.

  7. js 基础笔记三

    词法结构: 1:区分大小写 2:特殊字符的区分,unicode转义 3:注释, //  ;  /* */ ; 4 : 标识字符和保留字 数据类型: 1原始类型 数字,字符串,布尔值.特殊的原始值(nu ...

  8. Ubuntu + Django + Nginx + uwsgi

    环境 Ubuntu 14.04 Python 2.7 Django 1.8.4 1 安装Nginx     sudo apt-get install nginx 测试  sudo /etc/init. ...

  9. HDU 5240 Exam

    The 2015 ACM-ICPC China Shanghai Metropolitan Programming Contest 2015ACM-ICPC上海大都会赛 签到题 #include< ...

  10. 고서--做完A之后做B, B受A影响

    1. 합격 소식을 듣고서 매우 기뻤어요.. 2. 친구하고 심하게 다투고서 마음이 안 좋았어요. 3. 급한 일을 먼저 끝내고서 이야기합시다.' 4. 창문을 열고서 상쾌한 공기를 마서 ...