GoogleCast 简介
Google Cast Function
依赖
com.android.support:mediarouter-v7
com.google.android:gms:play-services-cast-framework
Cast 过程
1)framework提供一个CastContext singleton给APP使用
2)MediaRoute 提供设备扫描
3)CastSession (由CastContext.getSessionManager().getCurrentCastSession()提供) 通过用户选取MediaRouter扫描dialog建立device connect
4)RemoteMediaClient ( 由castsession 得到mCastSession.getRemoteMediaClient()) 控制Receiver device 的音视频play,pause,etc
5)MediaMetadata代表需要cast mediaitem
privateMediaInfo buildMediaInfo() {
MediaMetadata movieMetadata = newMediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE,mSelectedMedia.getStudio());
movieMetadata.putString(MediaMetadata.KEY_TITLE, mSelectedMedia.getTitle());
movieMetadata.addImage(new WebImage(Uri.parse(mSelectedMedia.getImage(0))));
movieMetadata.addImage(new WebImage(Uri.parse(mSelectedMedia.getImage(1))));
return new MediaInfo.Builder(mSelectedMedia.getUrl())
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(movieMetadata)
.setStreamDuration(mSelectedMedia.getDuration() * 1000)
.build();
}
6)RemoteMediaClient 控制Receiver device load
remoteMediaClient.load(buildMediaInfo(),autoPlay, position);
转载于:https://blog.51cto.com/lindt/1869228
GoogleCast 简介相关推荐
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- Docker学习(一)-----Docker简介与安装
一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...
- 【Spring】框架简介
[Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...
- TensorRT简介
TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...
- 谷粒商城学习笔记——第一期:项目简介
一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...
- 通俗易懂的Go协程的引入及GMP模型简介
本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...
- Linux 交叉编译简介
Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...
- TVM Operator Inventory (TOPI)简介
TOPI简介 这是 TVM Operator Inventory (TOPI) 的介绍.TOPI 提供了比 TVM 具有更高抽象的 numpy 风格的,通用操作和调度.TOPI 如何在 TVM 中,编 ...
- 计算机视觉系列最新论文(附简介)
计算机视觉系列最新论文(附简介) 目标检测 1. 综述:深度域适应目标检测标题:Deep Domain Adaptive Object Detection: a Survey作者:Wanyi Li, ...
最新文章
- Python中的字符串操作总结(Python3.6.1版本)
- Opencms安装和配置
- ASP.NET Core 中间件(Middleware)详解
- (原创)C++11改进我们的程序之右值引用
- Java笔记-Java中桥接模式
- 爬虫-post请求-RR网的登陆页-草稿-关注js反爬虫手法-只看不钻
- 数组的连续子数组最大和(首尾相连)
- 词法分析程序实验报告
- 分布式架构入门心得小结(1)
- 谷歌地球下载及功能介绍
- 音乐推荐,持续收集中
- 起底硅谷最神秘、估值最高的大数据公司:Palantir
- 【Transformer】继续学习:Attention,Self-Attention,Multi-head Attention。
- 世上真有后悔药,删除的数据文件可恢复,6款免费数据恢复软件
- thinkphp6+swoole websocket使用教程自研路线不建议使用
- 贷款的五种方法,解决您的购房资金问题
- 计算机管理映像路径,手把手教你解决win7系统任务管理器显示映像路径的恢复办法...
- 守护“城市生命线” | 地空智能带您走进数字孪生地下管网
- 具备统一门户功能的内网即时通讯软件才是发展趋势
- 求伯君,一个你必须知道的程序员
热门文章
- 单片机概述+AT89S51片内硬件结构
- apmserv php7,apmserv
- No current assignment for partition 解决
- 2021-10-21 markdown模板
- GameofMir引擎架设传奇服务器【4:架设微端】
- Web Workers详解
- 学校计算机机房网络设备,[学校计算机机房的维护]学校计算机机房硬件设备清单...
- Mysql Field * doesn't have a default value解决方法
- ...可变形参的使用
- 桌面上计算机图标移动变成复制,电脑桌面图标都变成lnk后缀怎么办