Android 无线投屏相关知识介绍

Android 无线投屏相关知识介绍

文章目录

一、前言

最近在看了下Android投屏相关内容,现在简单分享相关内容。

无线 AirPlay 投屏是苹果设备的,这里只介绍Android相关的投屏;

Android设备可以投屏到其他电视机、Window设备,以及某些在Android系统特殊适配的设备。

Android 设备投屏主要是有 Miracast(WFD)、Google Cast、DLNA 等协议。

二、具体内容

Android 无线投屏核心是通过Miracast(WFD)、Google Cast、DLNA 等协议;

将手机屏幕 / 音视频无线投射到电视、投影等大屏设备,主流方案延迟约 100--300ms ,支持 1080P/60fps 与音画同步。

1、核心协议与技术原理

(1) Miracast(Wi‑Fi Display,WFD)------Android 系统级标准
  • 定位 :安卓原生投屏基石,Android 4.2+ 系统内置,无需第三方 App。

  • 技术基础 :基于 Wi‑Fi Direct(P2P),可设备直连、也可同局域网工作。

  • 流程:

    1. 手机采集屏幕 → H.264/H.265 硬编码
    2. RTSP 信令协商 + RTP 封装传输
    3. 大屏解码、渲染、音频输出
  • 特点全屏幕镜像 、音画同步、延迟 100--200ms;支持 HDCP 加密;跨品牌兼容。

  • 常见入口:

    • 华为 / 荣耀:多屏互动 / 无线投屏
    • 小米 / Redmi:投屏
    • OPPO / 一加:屏幕共享 / 投射
    • vivo/iQOO:智慧投屏
    • 三星:Smart View
(2) Google Cast(Chromecast)
  • 定位:Google 生态投屏,多用于视频 App 推送。
  • 原理 :手机仅发播放指令,大屏直接从网络拉流(手机可锁屏)。
  • 适用:YouTube、Netflix、腾讯视频等内置 Cast 按钮;支持 Chrome 标签页投屏。
  • 限制:依赖 Google 服务与网络,国内部分场景不可用。
(3) DLNA(数字生活网络联盟)
  • 定位媒体推送(非镜像),多用于本地 / 在线视频、音乐、图片投屏。
  • 特点:手机仅做控制,大屏直接播放文件 / 流;不支持实时屏幕镜像。

第2个和第3个有点类似,第二个是应用上的推送,第三个是系统媒体应用的推送,都是推送音视频。

(4)其他方案
  • 品牌私有协议:华为 Cast+、小米投屏、TCL 多屏互动等,在自家生态内更稳定、低延迟。
  • 第三方工具:乐播投屏、幕享、Scrcpy(USB / 无线)等,跨平台、功能增强(如反向控制)。

2、投屏方式对比(核心差异)

表格

方式 类型 延迟 内容 网络 依赖
Miracast(WFD) 屏幕镜像 100--200ms 全屏幕 + 系统音频 同局域网 / 直连 系统原生
Google Cast 媒体推送 视频 / 音乐 / 网页 联网 + 同局域网 Google 服务
DLNA 媒体推送 音视频 / 图片 同局域网 媒体 App
第三方工具 镜像 / 推送 全内容 同局域网 安装 App

3、使用步骤(以 Miracast 为例)

(1)准备 :手机与大屏(电视 / 投影)连同一 Wi‑Fi(2.4G/5G 需一致,避免双频隔离)。
(2)大屏端 :设置 → 连接偏好 / 显示 → 开启 无线显示 / Miracast / Screen Mirroring
(3)手机端

方式一:下拉通知栏 → 找到「无线投屏 / 多屏互动」→ 搜索并选择大屏 → 确认连接;

方式二:原生设置 → 已连接的设备 → 连接偏好设置 → 投屏 (先打开右上角的"")。

(4)完成:手机画面实时同步到大屏,音频同步输出。

4、常见问题与优化

  • 搜不到设备

    • 确认同 Wi‑Fi、关闭双频隔离、重启 Wi‑Fi / 设备。
    • 大屏开启 Miracast 接收、手机开启投屏权限。
    • 两边设备确保热点能用,但是一定不能打开热点,打开热点要关闭热点重启后再搜索。
  • 延迟高 / 卡顿

    • 5GHz Wi‑Fi、减少遮挡、靠近路由器。
    • 关闭手机后台、降低分辨率 / 帧率、关闭 VPN / 代理。
  • 音画不同步

    • 优先硬解码、重启投屏、更新系统 / 固件。
  • 无法投屏 DRM 内容

    • 受 HDCP 保护(如 Netflix、腾讯视频 VIP),仅支持对应 App 内 Cast/DLNA 推送。

5、开发相关(简要)

  • 系统层

    Android 框架提供 WifiDisplayManagerMediaProjection 用于屏幕采集与投屏管理;

    WifiDisplayAdapter(显示适配器)定位**:DisplayManagerService 管理 WiFi Display 的专用适配器 ,是系统显示框架与 WiFi Display 功能之间的桥梁

    WifiDisplayController(协议控制器):WiFi Display 的 底层执行引擎**,封装 WiFi P2P(Wi-Fi Direct)WFD 协议(RTSP/RTP) 的全部逻辑,负责实际的设备发现、连接、会话管理

  • 应用层:

    • 镜像:MediaProjection + 编码 + RTP 传输(适配 Miracast)。
    • 推送:集成 Cast SDK / DLNA 库,实现媒体控制。
  • 关键组件wpa_supplicant(P2P 管理)、SurfaceFlinger(渲染)、OMX 硬编解码。

相关日志关键字:

复制代码
WifiDisplay
Miracast
Wfd
p2p
WifiP2p
DisplayManager
RemoteDisplay
MediaProjection

6、适用场景

  • Miracast:游戏、会议演示、全屏幕分享、教育投屏。
  • Cast/DLNA:视频 / 音乐播放、家庭影院、后台播放。
  • 第三方工具:跨平台投屏、反向控制、录屏 / 直播。

三、小结

Android设备镜像投屏的主要方式是Miracast投屏;

Miracast可以投送整个手机的镜像画面到另外的设备上,比如window设备,Tv设备,Android设备。

Android 定制化的手机一般是支持在原生设置里面,投屏到其他设备;

但是Android 原生系统和Google 都无法投屏,需要适配一定的代码,设置支持Display;

Android设备默认也是无法接受Miracast投屏的,需要开发投屏应用,比如像Tv设备专门开发一个接收Miracast的应用。

Android 投屏端是Source端,接收画面显示端是Sink端,接收端必须要开发应用进行接收。

相关推荐
常利兵2 小时前
安卓开发避坑指南:全局异常捕获与优雅处理实战
android·服务器·php
那我懂你的意思啦2 小时前
微服务学习+商城
学习·微服务·架构
AI_零食2 小时前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙版本跳棋游戏应用
学习·flutter·游戏·华为·交互·harmonyos
yangyanping201082 小时前
Go语言学习之Go Gin 生产级 flag 启动命令模板
开发语言·学习·golang
studyForMokey2 小时前
【Android面试】OkHttp & Retrofit 专题
android·okhttp·面试
恋猫de小郭2 小时前
抖音“极客”适配 Android 5 ~ 9 等老机型技术解读,都是骚操作
android·前端·flutter
黄林晴2 小时前
Android Studio Panda 4 来了!AGP 9.2 升级,同步稳定性大幅修复
android·android studio
默 语2 小时前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin
知识分享小能手2 小时前
MongoDB入门学习教程,从入门到精通,MongoDB的分片简介(14)
数据库·学习·mongodb