[IOS]对视频、音频播放器添加缓冲进度条
2017-03-14 15:57
1801 查看
[IOS]对视频、音频播放器添加缓冲进度条
标签: ProgressSlider缓冲进度[iOS]对视频、音频播放器添加缓冲进度条
Demo地址:http://download.csdn.net/detail/u012881779/8854967
思路说起来很简单:
先拖一个Progress View控件,设置它的Progress Tint和Track Tint;
再拖一个Horizontal Slider覆盖在ProgressView上面,设置它的Min Track Tint 同时设置Max Track Tint为Clear Color(为了透过控件看见背后progressView的背景);
最后分别设置一下各进度的值就OK了。
Min Track Tint(播放进度)、Progress Tint(缓冲进度)、Track Tint(进度条背景)。
[objc] view
plain copy
print?
@interface AVVideoViewController: UIViewController
@property (weak, nonatomic) IBOutlet UISlider *mScrubber; //播放进度
@property (weak, nonatomic) IBOutlet UIProgressView *cacheProgressV;//缓冲进度
@end
@implementation AVVideoViewController
- (void)syncScrubber
{
/*播放进度*/
CMTime playerDuration = [self playerItemDuration];
if (CMTIME_IS_INVALID(playerDuration))
{
mScrubber.minimumValue = 0.0;
[self showStarLabletimeToEndLableTime:0.0 end:0.0];
return;
}
double duration = CMTimeGetSeconds(playerDuration);
if (isfinite(duration))
{
float minValue = [self.mScrubber minimumValue];
float maxValue = [self.mScrubber maximumValue];
double time = CMTimeGetSeconds([self.mPlayer currentTime]);
[self showStarLabletimeToEndLableTime:time end:duration];
[self.mScrubber setValue:(maxValue - minValue) * time / duration + minValue];
}
/*缓冲进度*/
NSTimeInterval timeInterval = [self availableDuration];
NSLog(@"Time I nterval:%f",timeInterval);
CMTime duration11 = self.mPlayerItem.duration;
CGFloat totalDuration = CMTimeGetSeconds(duration11);
[_cacheProgressV setProgress:timeInterval / totalDuration animated:YES];
}
// 计算缓冲进度
- (NSTimeInterval)availableDuration {
NSArray *loadedTimeRanges = [[self.mPlayer currentItem] loadedTimeRanges];
CMTimeRange timeRange = [loadedTimeRanges.firstObject CMTimeRangeValue];// 获取缓冲区域
float startSeconds = CMTimeGetSeconds(timeRange.start);
float durationSeconds = CMTimeGetSeconds(timeRange.duration);
NSTimeInterval result = startSeconds + durationSeconds;// 计算缓冲总进度
return result;
}
@end
示意图:
顶1
踩
相关文章推荐
- [IOS]对视频、音频播放器添加缓冲进度条
- [IOS]对视频、音频播放器添加缓冲进度条
- [IOS]对视频、音频播放器添加缓冲进度条
- iOS 视频剪切、旋转,视频添加音频、添加水印,视频导出
- iOS 视频音频播放器
- iOS 视频剪切、旋转,视频添加音频、添加水印,视频导出
- iOS 视频剪切、旋转,视频添加音频、添加水印,视频导出
- iphone ios 音频添加,合成,替换到视频(里的音轨)
- iOS 视频音频播放器 文件管理的实现
- iphone ios 音频添加,合成,替换到视频(里的音轨)
- iphone ios 音频添加,合成,替换到视频(里的音轨)
- ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
- AVAudioPlayer音频播放器—IOS开发
- 播放器上可否添加按纽达到捕获视频的目的 帮帮忙
- php中调用播放器播放视频音频
- 在Android 中调用选择图片、视频、添加音频、录音、拍摄视频、拍照等其他的功能
- 【iOS-Cocos2d游戏开发之十四】音频、音效播放+Cocos2D-Extensions视频播放! 推荐
- 音频播放器—IOS开发
- AVAudioPlayer音频播放器—IOS开发
- 网页中添加音频视频