ios开发 自定义的avplayer播放器可以支持多少格式

ios开发 自定义的avplayer播放器可以支持多少格式,第1张

我们在项目中会遇到播放音频的功能,自己也研究了一下,搞了一个小的功能播放器,供大家交流。<br><br>我们用之前应该导入mediaolayer的框架。<br><br>
// MoviePlayerViewControllerm
// Player
//
// Created by dllo on 15/11/7
// Copyright © 2015年 zhaoqingwen All rights reserved
//

#import "MoviePlayerViewControllerh"
#import <AVFoundation/AVFoundationh>
#import <MediaPlayer/MediaPlayerh>
@interface MoviePlayerViewController ()

@property(nonatomic,strong)AVPlayer player; // 播放属性
@property(nonatomic,strong)AVPlayerItem playerItem; // 播放属性
@property(nonatomic,assign)CGFloat width; // 坐标
@property(nonatomic,assign)CGFloat height; // 坐标
@property(nonatomic,strong)UISlider slider; // 进度条
@property(nonatomic,strong)UILabel currentTimeLabel; // 当前播放时间
@property(nonatomic,strong)UILabel systemTimeLabel; // 系统时间
@property(nonatomic,strong)UIView backView; // 上面一层Viewd
@property(nonatomic,assign)CGPoint startPoint;
@property(nonatomic,assign)CGFloat systemVolume;
@property(nonatomic,strong)UISlider volumeViewSlider;
@property(nonatomic,strong)UIActivityIndicatorView activity; // 系统菊花
@property(nonatomic,strong)UIProgressView progress; // 缓冲条
@property(nonatomic,strong)UIView topView;

@end

@implementation MoviePlayerViewController

- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:AVPlayerItemDidPlayToEndTimeNotification object:_playercurrentItem];
}

- (void)viewDidLoad {
[super viewDidLoad];
selfviewbackgroundColor = [UIColor blackColor];

_width = [[UIScreen mainScreen]bounds]sizeheight;
_height = [[UIScreen mainScreen]bounds]sizewidth;
// 创建AVPlayer
selfplayerItem = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@">Github项目地址

如果遇到问题或者好的建议,请反馈到:issue、 927195249@qqcom 或者 LiangLuDev@gmailcom

如果觉得对你有用的话,赞一下吧!

方法/步骤
1、创建ProgressBar项目,通过ProgressBar项目展示读取文件数据进度情况,项目文件结构很简单,如下图
2、创建布局文件progress_horizontal_read_dataxml,布局文件放置一个TextView控件和一个水平的ProgressBar控件,内容如下图:
3、自定义ProgressBar的样式,在res文件夹下创建drawable文件夹,新建progress_bar_statesxml,添加我们定义的ProgressBar样式,如下图:
编写java代码文件,新建ProgressBarActivityjava,继承Activity类,并重写onCreate()方法,加载上面写好的布局文件progress_horizontal_read_dataxml
获取布局文件中的TextView、ProgressBar控件,获取progress_bar_statesxml自定义样式表,使用setProgressDrawable()方法给ProgressBar设置样式,如下图:
1、创建一个Thread线程读取sdcard中的文件,这里的文件,你可以自己创建后放置到模拟器的sdcard中,注意在java代码中修改文件名,如下图:
2、创建一个Handler,用于处理Thread线程读取到的数据,并在TextView控件中打印出文件内容,如下图:
自定义一个readFromFile()方法,从sdcard中读取数据,如下图:
最后一个在AndroidManifestxml文件中添加Activity,启动Genymotion模拟器,效果图如下:
END
注意事项
创建子线程Thread读取文件内容,否则会报错
刷新TextView控件内容的时候,使用Handler,防止阻塞UI线程


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/12949177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存