当前位置: 首页 > news >正文

wordpress的商城网站制作公司指数平滑法

wordpress的商城网站制作公司,指数平滑法,山东城建建设职业学院教务网站,263企业邮箱入口网页版Android早期的MediaPlayer控件对于网络视频的兼容性很差,所以后来单独推出了Exoplayer库增强支持网络视频,在《Android Studio开发实战:从零基础到App上线(第3版)》一书第14章的“14.3.3 新型播放器ExoPlayer”就详细介绍了Exoplayer库的详细…

Android早期的MediaPlayer控件对于网络视频的兼容性很差,所以后来单独推出了Exoplayer库增强支持网络视频,在《Android Studio开发实战:从零基础到App上线(第3版)》一书第14章的“14.3.3  新型播放器ExoPlayer”就详细介绍了Exoplayer库的详细用法。
现在Android官方再次升级Exoplayer,并将其纳入了Jetpack的Media3第三代媒体库,作为音视频相关操作的统一处理引擎。升级后的Exoplayer就成为Media3的统一媒体播放引擎,提供了音频和视频播放的应用级组件,意欲在音视频渲染方向上一统江湖。
根据Android官网的介绍,ExoPlayer还摆脱设备和操作系统碎片化问题,让App代码以一致的方式运行于整个Android生态系统中。因为Media3是个很新很新的Jetpack库,所以它对开发环境要求比较高,需满足下列条件才能正常引入Media3。
1、开发工具要选用Android Studio Jellyfish(小水母版本)或更高版本。
2、Gradle版本不低于8.6。
3、App模块的build.gradle里面compileSdk和targetSdk要升级到34或者更高版本。
根据上述条件准备好了开发环境,再按照以下描述引入Media3的ExoPlayer库,详细步骤说明如下。

一、修改模块的build.gradle

在build.gradle的dependencies节点内部补充下面的导包语句,把ExoPlayer用到的相关库都加进来。

implementation "androidx.media3:media3-exoplayer:1.4.0"
implementation "androidx.media3:media3-exoplayer-hls:1.4.0"
implementation "androidx.media3:media3-exoplayer-rtsp:1.4.0"
implementation "androidx.media3:media3-ui:1.4.0"
implementation "androidx.media3:media3-common:1.4.0"
implementation "androidx.media3:media3-session:1.4.0"
implementation "androidx.media3:media3-datasource:1.4.0"
implementation "androidx.media3:media3-datasource-rtmp:1.4.0"

二、编辑播放界面的布局文件

打开播放界面的XML布局文件,给根布局添加如下的属性配置:

xmlns:app="http://schemas.android.com/apk/res-auto"

接着在布局内部添加来自ExoPlayer库的PlayerView控件节点,举例如下:

<!-- use_controller是否显示控制栏,show_timeout控制栏的消失间隔,show_buffering是否显示缓冲区,resize_mode大小调整模式 -->
<androidx.media3.ui.PlayerViewandroid:id="@+id/pv_content"android:layout_width="match_parent"android:layout_height="wrap_content"app:show_buffering="always"app:show_timeout="5000"app:use_controller="true"app:resize_mode="fit"/>

三、活动页面代码增加ExoPlayer的处理代码

首先补充下面一行代码声明PlayerView对象:

private ExoPlayer mPlayer; // 声明一个新型播放器对象

接着在onCreate方法里面补充以下代码,获取PlayerView对象,并对其设置ExoPlayer的播放器对象:

    PlayerView pv_content = findViewById(R.id.pv_content);mPlayer = new ExoPlayer.Builder(this).build();pv_content.setPlayer(mPlayer); // 设置播放器视图的播放器对象

然后添加下面的播放方法,开始播放指定链接的网络视频。

// 播放视频
private void playVideo(Uri uri) {DataSource.Factory factory = new DefaultDataSource.Factory(this);// 创建指定地址的媒体对象MediaItem videoItem = new MediaItem.Builder().setUri(uri).build();// 基于工厂对象和媒体对象创建媒体来源MediaSource videoSource;if (uri.getPath().endsWith("m3u8")) { // hls链接videoSource = new HlsMediaSource.Factory(factory).createMediaSource(videoItem);} else if (uri.getPath().startsWith("rtsp")) { // rtsp链接videoSource = new RtspMediaSource.Factory().createMediaSource(videoItem);} else if (uri.getPath().startsWith("rtmp")) { // rtmp链接videoSource = new ProgressiveMediaSource.Factory(new RtmpDataSource.Factory()).createMediaSource(videoItem);} else { // 其他链接(http开头或https开头的普通视频链接)videoSource = new ProgressiveMediaSource.Factory(factory).createMediaSource(videoItem);}mPlayer.setMediaSource(videoSource); // 设置播放器的媒体来源mPlayer.prepare(); // 播放器准备就绪mPlayer.play(); // 播放器开始播放
}

从上述的播放代码可知,这里用到了ExoPlayer的四种播放形式,分别为:播放HLS链接、播放RTMP链接、播放RTSP链接、播放普通网络视频。

四、给AndroidManifest.xml补充互联网访问权限

打开AndroidManifest.xml,添加下面的互联网权限配置:

<uses-permission android:name="android.permission.INTERNET" />

最后编译运行App,在真机上看到的播放器效果如下图所示。

可见成功把Media3的ExoPlayer库跑了起来,并且正常播放网络视频。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

本系列的FFmpeg进阶文章目录为《FFmpeg开发笔记全目录(FFmpeg开发实战详解,含直播系统的搭建过程)》

http://www.jinmujx.cn/news/119141.html

相关文章:

  • 网站怎么做备案变更企业网站首页
  • 网站建设后的心得高手优化网站
  • 广西建设执业资格注册中心网站2024年重大新闻摘抄
  • 网站及其建设的心得体会网络软文案例
  • ps做网站的分辨率多少快速关键词排名首页
  • 比较好的做展会邀请函的网站百度关键词相关性优化软件
  • 30天网站建设实录视频云盘百度2019旧版本下载
  • wap免费网站nba今日数据
  • 做一个什么样的网站百度竞价有点击无转化
  • 无锡做推广的网站上海外贸seo公司
  • 网站后台账号密码忘记了怎么办上海网站推广广告
  • 深圳哪家网站建设好如何做网页推广
  • 做吉祥物的网站小红书推广平台
  • 上海网站设计见建设seo学校
  • wordpress做采集站百度关键词优化企业
  • 中国水电建设集团港航建设有限公司网站百度写作助手
  • rest api 做网站seo石家庄
  • 免费做微网站营销咨询服务
  • 宁国网站建设网站搭建的流程
  • 搭建一个网站多少钱网络营销管理
  • wordpress 安装 权限设置网站seo优化公司
  • 重庆网站推广产品企业360搜索引擎下载
  • 大连网站推广怎么收费搜狗竞价推广效果怎么样
  • 律师推广网站排名合肥最新消息今天
  • 网站建设公众号管理seo网站诊断分析报告
  • 天猫淘宝优惠券网站怎么做seo推广沧州公司电话
  • 做网站需要公司资料吗链接是什么意思
  • 网站开发 高级认证网站关键词排名批量查询
  • 广州企业建站平台推广是什么
  • 新手如何做海外网站代购市场调研的基本流程