灵魂拷问:如何将android手机屏幕和音频同时投影输出至mac?

背景?

好奇的你可能会问:啊为什么一定是android手机? 啊为什么一定是mac?啊你都用macOS了干嘛不买台iphone?啊airplay它不香吗? 甚至如果你把这个问题的前半段放到百度谷歌一搜,都会弹出一堆相当方便顺手的软件出来。没错,不用怀疑你的双眼,这种问题存在必有它的价值意义。例子?就像我认识的某个小可爱想把只存在在android手机里的tvb直播源投到macbook上看一样:)但问题的关键在于,网上搜出来的这些软件要不就是要收费,要不就是有一堆乱七八糟的广告,要不就是不能传输音频。当然,如果这些问题都不是你的问题的话,这篇文章也就没有任何存在的意义。所以这里解决方案的亮点在于:免费开源 && 干净整洁 && 音频输出。

为什么?

为什么要实现这个功能这么难?好问题,不知道。简单地浏览一下各个网站,有来自安卓系统层面的问题,也有来自mac层面的问题。我所用的软件为什么可以?大概是因为打开了手机的开发者权限,并且是用usb连接的

原理?

通过开源的scrcpy(跟我一起读"screen copy")进行屏幕分享输出
并且通过开源的sndcpy("sound copy")进行音频输出

相关地址:

https://github.com/Genymobile/scrcpy

https://github.com/rom1v/sndcpy

(如果你的英文很了得并且你是一个geek,这篇文章接下来的内容也将毫无意义)

怎么做?

很好,我们正式进入正题。

准备材料:
  1. 一台可以联网的macbook

  2. 一台可以进入开发者模式,并且安卓原生系统版本在10以上的手机(注意原生,国内的各大厂开发的系统都是基于原生安卓而来的)
    取oppo为例, ColorOS 11.1 是基于原生安卓11开发而来的


  1. 一根数据线
步骤:
mac的安装设置
  1. 在mac中打开终端, 如果你不知道它躲在哪里,它一般会出现在启动台的其他文件夹底下(5%)


  2. 在terminal(终端)中输入以下命令行(10%)
    brew install scrcpy
    科普:brew全称homebrew, 是一个软件管理系统,你也可以把它理解为一个另类的app store。
    如果你的电脑没有brew的话,或者你看见了这一行文字
    "command not found brew", 那么请看步骤3
    (我安装的时候非常漫长,第一次运行的时候会默认自动先更新brew 自己的软件库, 我跑这个命令行大概花了5-10分钟)


    直到完成安装(可以忽略这一个permission denied的错误)

    如果这个步骤成功了, 请直接前往4

  3. 安装brew(10%)
    在terminal中输入以下命令行
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 根据提示完成安装, 重新打开一个新的terminal,并且重复步骤2
    参考文章&&网址:
    Homebrew 使用详解
    Homebrew 官方地址

  4. 在terminal(终端)中输入以下命令行(30%)
    brew install android-platform-tools
    运行scrcpy的前提需要有一个叫做adb的库, 安装android-platform-tools就会包含这个库在里面

手机的设置
  1. 到目前为止, 以上都是电脑上的步骤,那么现在我们要设置如何打开手机端的开发者模式
    以oppo 手机为例, 我需要前往设置 -> 关于手机 -> 版本信息 -> 然后连续点击版本号按钮5到7次(是的你没看错,他们就是这样隐藏这个开发者模式菜单)
    回到设置 -> 其他设置 -> 开发者选项, 找到USB调试并且打开它(40%)


    找到禁止权限监控并且打开它(这一步是为了后面的音频输出做准备)

    其他友商打开开发者模式的方法:
    华为
    三星
    小米

  2. 好了现在我们可以测试一下到底能不能进行屏幕分享(50%)
    把手机插上数据线连上电脑, 并且在终端中中输入以下命令行:
    scrcpy
    噔噔, 如果你的电脑自己打开一个窗口,那么恭喜你,你已经成功实现了屏幕分享


  1. Nice, 我相信文章读到这里的人应该都会继续往下读的,因为单纯为了分享屏幕你也不会来这里。接下来所有的步骤都是为了把音频输出到mac上(50%)
mac的安装设置
  1. 前往 https://github.com/rom1v/sndcpy 并且点击下载这个文件(60%)
  2. 在系统文件夹里找到这个文件并且解压, 理论上解压出来的文件夹应该长这个样子(70%)


  3. 下载vlc播放器, 它的图标是一个雪糕桶(80%)

    附上一些可能可以下载vlc的网站:
    https://www.videolan.org/
    https://www.onlinedown.net/soft/16216.htm
  4. 现在我们可以准备测试一下音频输出了(90%)
    在手机打开你想用的app, 比如b站, 然后在电脑打开一个的终端(别用刚才打开scrcpy的),找到步骤9下载的文件所在的位置,一般浏览器默认的下载地址是Downloads, 所以我们就可以输入以下输入命令行(注意每个命令都要打enter键来执行):
    cd Downloads(change directory to Downloads)
    cd sndcpy-v1.1(change directory to sndcpy-v1.1 这个已经被解压完的文件夹)
    VLC=/Applications/VLC.app/Contents/MacOS/VLC ./sndcpy (这一步有一点迷, 我们需要传参vlc给sndcpy这个程序,就是要告诉它我们刚才下载的vlc放在了哪里,否则会报以下的错vlc: command not found)
手机的设置
  1. 这时候你的手机会提示安装一个东西,直接安装就完事了(95%)
mac的安装设置
  1. 执行完以上三条命令行,如果你看到了以下的错误,请回到步骤5,把禁止权限监控打开(100%)


    如果你看到了以下这些语句,那么你已经成功把音频输出到mac上了,直接看步骤14

    如果很不幸你看到了以下的语句:end of playlist,exiting

    那么恭喜你,你需要拔掉数据线,重新连一遍,重复步骤5,步骤6 和 步骤11,直到你看不见
    end of playlist, exiting 这个错误 并且电脑应该能输出你所想要的音频了 :)

  2. 总结一下, 以后每次你想用这个屏幕音频输出时,就要准备这几个步骤:
    连接上手机,去开发者模式选项里打开两个设置(USB调试和禁止权限监控)
    在电脑第一个终端里执行
    scrcpy
    在电脑第二个终端里找到sndcpy所在的位置并且执行
    VLC=/Applications/VLC.app/Contents/MacOS/VLC ./sndcpy

  3. ENJOY :)

你可能感兴趣的:(灵魂拷问:如何将android手机屏幕和音频同时投影输出至mac?)