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 简介相关推荐

  1. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  2. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  3. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

  4. TensorRT简介

    TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...

  5. 谷粒商城学习笔记——第一期:项目简介

    一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...

  6. 通俗易懂的Go协程的引入及GMP模型简介

    本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...

  7. Linux 交叉编译简介

    Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...

  8. TVM Operator Inventory (TOPI)简介

    TOPI简介 这是 TVM Operator Inventory (TOPI) 的介绍.TOPI 提供了比 TVM 具有更高抽象的 numpy 风格的,通用操作和调度.TOPI 如何在 TVM 中,编 ...

  9. 计算机视觉系列最新论文(附简介)

    计算机视觉系列最新论文(附简介) 目标检测 1. 综述:深度域适应目标检测标题:Deep Domain Adaptive Object Detection: a Survey作者:Wanyi Li, ...

最新文章

  1. Python中的字符串操作总结(Python3.6.1版本)
  2. Opencms安装和配置
  3. ASP.NET Core 中间件(Middleware)详解
  4. (原创)C++11改进我们的程序之右值引用
  5. Java笔记-Java中桥接模式
  6. 爬虫-post请求-RR网的登陆页-草稿-关注js反爬虫手法-只看不钻
  7. 数组的连续子数组最大和(首尾相连)
  8. 词法分析程序实验报告
  9. 分布式架构入门心得小结(1)
  10. 谷歌地球下载及功能介绍
  11. 音乐推荐,持续收集中
  12. 起底硅谷最神秘、估值最高的大数据公司:Palantir
  13. 【Transformer】继续学习:Attention,Self-Attention,Multi-head Attention。
  14. 世上真有后悔药,删除的数据文件可恢复,6款免费数据恢复软件
  15. thinkphp6+swoole websocket使用教程自研路线不建议使用
  16. 贷款的五种方法,解决您的购房资金问题
  17. 计算机管理映像路径,手把手教你解决win7系统任务管理器显示映像路径的恢复办法...
  18. 守护“城市生命线” | 地空智能带您走进数字孪生地下管网
  19. 具备统一门户功能的内网即时通讯软件才是发展趋势
  20. 求伯君,一个你必须知道的程序员

热门文章

  1. 单片机概述+AT89S51片内硬件结构
  2. apmserv php7,apmserv
  3. No current assignment for partition 解决
  4. 2021-10-21 markdown模板
  5. GameofMir引擎架设传奇服务器【4:架设微端】
  6. Web Workers详解
  7. 学校计算机机房网络设备,[学校计算机机房的维护]学校计算机机房硬件设备清单...
  8. Mysql Field * doesn't have a default value解决方法
  9. ...可变形参的使用
  10. 桌面上计算机图标移动变成复制,电脑桌面图标都变成lnk后缀怎么办