最近在做一个视频的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.关于运算符的问题:
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;
}
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];