精华内容
下载资源
问答
  • 安卓手机投屏到ipad上app是一款能够同时兼容安卓和IOS系统的同屏软件,有了安卓手机投屏到ipad上app在电脑上安装桌面端软件后即可将手机手机屏幕投射到电脑上,并可在电脑上操控手机。欢迎广大用户下载体验。软件...

    安卓手机投屏到ipad上app是一款能够同时兼容安卓和IOS系统的同屏软件,有了安卓手机投屏到ipad上app在电脑上安装桌面端软件后即可将手机手机屏幕投射到电脑上,并可在电脑上操控手机。欢迎广大用户下载体验。

    软件介绍

    安卓手机投屏到ipad上app是一款功能强大的投屏应用服务软件,安卓手机投屏到ipad上安卓版操作简单直观,安卓手机投屏到ipad上app支持多平他设备连接,安卓还是苹果设备,都可以很好的投屏。

    软件特色

    * 畅享大屏体验

    使用安卓手机投屏到ipad上app,可以将视频、照片及其他在手机中播放的媒体画面,投射到电脑中,畅享大屏视觉体验!

    * 电脑操控安卓手机

    安卓手机投屏到ipad上app能够支持用户在电脑操控安卓手机:您可以在电脑中用鼠标和键盘输入微信、qq、LINE或短信内容。安卓游戏玩家可以在没有root的情况下,不需要安卓模拟器,就能够在电脑上玩手游啦!

    * 全新录屏体验

    安卓手机投屏到ipad上app另一个特色功能就是能够截取及录制手机屏幕画面。与其他同类APP相比,它的连接方式更为简单、画质更加清晰、体验更佳流畅。a

    更新日志

    1. 修复个别机型无法检测到游戏键盘的问题

    2. 修复部分电脑投手机无法正常反控的问题

    3. 其他问题修复

    相关下载:手机投屏

    下载地址:http://30tqyb.com/app/444638.html

    展开全文
  • 安卓手机投屏到电视很容易,可以使用手机自带的投屏功能。 接下来我要讲的是如何把手机屏幕投屏到电脑上并且还能用电脑操作手机的方法。 废话不多说,经过我多次测试后发现,只需要在电脑上下个Total Control...

    安卓手机投屏到电视很容易,可以使用手机自带的投屏功能。

    这么简单!安卓手机投屏到电脑的神器

     

    接下来我要讲的是如何把手机屏幕投屏到电脑上并且还能用电脑操作手机的方法。

    废话不多说,经过我多次测试后发现,只需要在电脑上下个Total Control投屏多控软件就可以了,用数据线或者无线网连接电脑和手机,打开手机相关USB调试权限后连接。连接成功后,打开Total Control,手机界面就投屏到电脑显示屏上了,全屏小屏随意切换。并且,使用Total Control连接电脑和手机的话,可以实现用电脑控制操作手机。

     

    这么简单!安卓手机投屏到电脑的神器

     

     

    这个软件现在是免费的,我测试后发现安卓4.4以上系统的手机都可以成功连接,一个电脑能同时连好几个手机,需要的小伙伴可以下载这个软件使用。

     

    这么简单!安卓手机投屏到电脑的神器

    展开全文
  • Android 投屏到电脑上,类似vysor。不需要网连数据线,延时小。原理是电脑上布一个socket.io服务器;手机通过socket.io连接自己布置的局域网服务器,然后通过ImageRedaer不断截屏,将画片发送局域网服务器。最后...

    Android 投屏到电脑上,类似vysor。不需要网连数据线,延时小。原理是电脑上布一个socket.io服务器;手机通过socket.io连接到自己布置的局域网服务器,然后通过ImageRedaer不断截屏,将画片发送到局域网服务器。最后一步就是电脑的显示,服务器上获得手机传过来的Bitmap,让其发送到html网页,并刷新网页。于是我们就可以在localhost:3000首页上看到手机屏幕的内容。这里涉及到两个服务器io-server.js和index.js,分别监听9000端口和3000端口,9000端口的负责监听并接收手机发送过来的数据,3000端口负责接收电脑浏览器发送过来的请求,并给浏览器发送图片。

    Android PC投屏简单尝试

    博客地址 https://www.jianshu.com/p/ce37330365f2

    项目使用说明

    必须有nodejs的环境 在./sockt目录下安装

    npm install --save express@4.15.2
    npm install --save socket.io
    
    1. 运行Node的Socket服务端
     node ./sockt/io-server.js
    
    1. 运行Node的网页
        node ./sockt/index.js
    

    打开 localhost:3000.就可以看到网页了。

    1. 运行App。进入 在MainActivity,点击Start按钮,就可以开始了 进入Activity时,已经回去连接socket

    注意:

    1. 需要在局域网内运行。App内需要配置好Socket链接的ip. 在SocketIoManager
    2. 具体的内容,还是请看一下代码。

    ###效果预览 

    ###简单说明:

    1. 使用Android MediaProjection Api来完成视频的截图
    2. 通过WebSocket进行链接。将图片传递给网页

    想法来源

    看到vysor,觉得特别好玩,于是就想着自己能不能试着做一个类似的功能出来。搜索了相关实现。发现网上已经有网友针对vysor做了分析。于是就照着思路,按图索骥,当作对MediaProjection Api的练习,来完成这个小项目

    主要思路

    ####1. 获取屏幕的截屏

    • 创建VirtualDisplay Android在Api 21以上为我们已经提供了系统的Api可以进行操作。 主要是这几个类的相互配合MediaProjectionVirtualSurface,还有截图的话,使用ImageReader,三个类配合使用。 配套使用示意图.png
    public RxScreenShot createImageReader() {
            //注意这里使用RGB565报错提示,只能使用RGBA_8888
            mImageReader = ImageReader.newInstance(width, height, PixelFormat.RGBA_8888, 1000);
            mSurfaceFactory = new ImageReaderSurface(mImageReader);
            createProject();
            return this;
        }
    
        private void createProject() {
            mediaProjection.registerCallback(mMediaCallBack, mCallBackHandler);
            //通过这种方式来创建这个VirtualDisplay,并将数据传递给ImageReader提供surface
            mediaProjection.createVirtualDisplay(TAG + "-display", width, height, dpi, DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC,
                    mSurfaceFactory.getInputSurface(), null, null);
        }
    • 获取屏幕截图 可以通过ImageReader类。配套Image来获奖获得的数据转成Bitmap
    /*
    封装成了Observable对象。
    */
    public class ImageReaderAvailableObservable extends Observable<ImageReader> {
    
        public static ImageReaderAvailableObservable of(ImageReader imageReader) {
            return new ImageReaderAvailableObservable(imageReader, null);
    
        }
    
        public static ImageReaderAvailableObservable of(ImageReader imageReader,Handler handler) {
            return new ImageReaderAvailableObservable(imageReader, handler);
        }
    
        private final ImageReader imageReader;
        private final Handler handler;
    
        private ImageReaderAvailableObservable(ImageReader imageReader, Handler handler) {
            this.imageReader = imageReader;
            this.handler = handler;
        }
    
        @Override
        protected void subscribeActual(Observer<? super ImageReader> observer) {
            Listener listener = new Listener(observer, imageReader);
            observer.onSubscribe(listener);
            //设置准备好的监听事件
            imageReader.setOnImageAvailableListener(listener, handler);
        }
    
    
        static class Listener implements Disposable, ImageReader.OnImageAvailableListener {
            private final AtomicBoolean unsubscribed = new AtomicBoolean();
            private final ImageReader mImageReader;
            private final Observer<? super ImageReader> observer;
    
            Listener(Observer<? super ImageReader> observer, ImageReader imageReader) {
                this.mImageReader = imageReader;
                this.observer = observer;
            }
    
    
            @Override
            public void onImageAvailable(ImageReader reader) {
                if (!isDisposed()) {
                  //将准备好的reader发送出去,进行处理
                    observer.onNext(reader);
                  //注意:这里如果不调用onCompleted事件。其实这个监听会不断回调事件
    //                observer.onComplete();
                }
            }
    
            @Override
            public void dispose() {
                if (unsubscribed.compareAndSet(false, true)) {
                    mImageReader.setOnImageAvailableListener(null, null);
                }
            }
    
            @Override
            public boolean isDisposed() {
                return unsubscribed.get();
            }
        }
    }
    
    /*
    调用开始截屏的方法
    */
    public Observable<Object> startCapture() {
            return ImageReaderAvailableObservable.of(mImageReader)
                    .map(imageReader -> {
                        String mImageName = System.currentTimeMillis() + ".png";
                        Log.e(TAG, "image name is : " + mImageName);
                        Bitmap bitmap = null;
                        //从imageReader中获取到最新的Image
                        Image image = imageReader.acquireLatestImage();
                        if (image == null) {
    
                        } else {
                            //将Image对象转成bitmap
                            int width = image.getWidth();
                            int height = image.getHeight();
                            //byteBuffer都保存在image.Plane中
                            final Image.Plane[] planes = image.getPlanes();
                            final ByteBuffer buffer = planes[0].getBuffer();
                            int pixelStride = planes[0].getPixelStride();
                            int rowStride = planes[0].getRowStride();
                            int rowPadding = rowStride - pixelStride * width;
                            bitmap = Bitmap.createBitmap(width + rowPadding / pixelStride, height, Bitmap.Config.ARGB_8888);
                            bitmap.copyPixelsFromBuffer(buffer);
                            bitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height);
                            //这里使用完要记得close.如果没有close,当imageReader达到max_count上限时将会抛出异常
                            image.close();
                        }
                        return bitmap == null ? new Object() : bitmap;
                    });
        }
    

    这里需要注意的是,需要通过这个回调,每当屏幕发生变化,就会回调这个接口,可以得到最新的截图。ImageReader::setOnImageAvailableListener

    2. 搭建Socket连接,将图片的数据进行传递

    node 部分的代码在 https://github.com/deepsadness/MediaProjectionDemo/tree/master/sockt

    因为我们的目标是在网页内打开,所以需要和网页进行通信。 可以简单的使用WebSocket进行双方通向 简单示意图Again.png

    通过Socket.iohttps://socket.io/ 就可以简单的实现

    • Android端的代码 通过WebSocket将Bitmap的字节码发送出去
        private fun sendBitmap(it: Bitmap) {
            val byteArrayOutputStream = ByteArrayOutputStream()
            it.compress(Bitmap.CompressFormat.JPEG, 60, byteArrayOutputStream)
            val byteArray = byteArrayOutputStream.toByteArray()
            SocketIoManager.getInstance().send(byteArray)
        }
    
        public void send(byte[] bitmapArray) {
            if (!mSocketReady) {
                return;
            }
            if (bitmapArray != null) {
                mSocket.emit("event", bitmapArray);
            }
        }
    • Node端的代码 简单的SocketIo实现.代码在 /sockt/io-server.js
    var io = require('socket.io')();
    var clients = []
    io.on('connection', function (client) {
        clients.push(client);
        console.log('connection!');
    
        client.emit('join', 'welcome to join!!')
    
        client.on('chat message', function (msg) {
            console.log("receive msg=" + msg);
    
        });
        client.on('event', function (msg) {
            // console.log("event", msg);
            console.log("event", "send image~~");
            //通过event事件出去
            clients.forEach(function (it) {
                it.emit('event', msg)
            })
        });
    });
    io.on('disconnect', function (client) { 
    
    })
    io.listen(9000);

    3. 如何将图片显示出来

    代码在 /sockt/index.html中 html中的src就可以直接对传递byte[]的进行解析。

     socket.on('image', function (msg) {
          var arrayBufferView = new Uint8Array(msg);
          var blob = new Blob([arrayBufferView], { type: "image/jpeg" });
          var urlCreator = window.URL || window.webkitURL;
          var imageUrl = urlCreator.createObjectURL(blob);
          var img = document.getElementById("screen");
          // var img = document.querySelector("#photo");
          img.src = imageUrl;
    

    由于https://github.com/deepsadness/MediaProjectionDemo这个例子里有部分代码是用kotlin写的,

    我将其改成了java代码。代码地址如下:https://github.com/tomyZhou/AndroidScreentShot

    展开全文
  • 安卓手机投屏到电视很容易,大部分人都会使用手机自带的投屏功能,但是怎么投屏到电脑上并且还能用电脑操作手机呢?毕竟这是非常方便的一件事。如果我们需要投屏电脑显示屏上,经过我多次测试后发现,我们只需要在...

    安卓手机投屏到电视很容易,大部分人都会使用手机自带的投屏功能,但是怎么投屏到电脑上并且还能用电脑操作手机呢?毕竟这是非常方便的一件事。如果我们需要投屏到电脑显示屏上,经过我多次测试后发现,我们只需要在电脑上下个Total Control,用数据线或者无线网连接电脑和手机,打开手机相关USB调试权限,当然也可以用无线网连接我们的电脑和手机。连接成功后,打开Total Control,手机界面就投屏到电脑显示屏上了,全屏小屏随意切换。并且,使用Total Control连接电脑和手机的话,可以实现用电脑控制操作手机,也就是投屏后我们可以用鼠标键盘来操作我们的手机了!

     

    安卓手机投屏到电脑的问题可以通过一个神器解决

     

    这个软件现在是免费的,我测试后发现我所有的安卓系统手机都可以成功连接,一个电脑能同时连好几个手机,需要的话可以按我说的学习下这个软件的使用。

     

    安卓手机投屏到电脑的问题可以通过一个神器解决

    展开全文
  • 手机投屏电脑软件就可以不用靠线来连接,直接就能投屏到电脑上。想必大家应该都投屏电视上过,其实操作方法是一样的,只要下载一个【金舟苹果手机投屏软件】就可以搞定了。这是一款非常专业...
  • 安卓手机投屏到win10电脑

    万次阅读 2017-08-21 23:00:27
    安卓手机投屏到win10电脑
  • 一般如果是用爱奇艺、优酷、腾讯、哔哩哔哩这些软件看视频的话,可以直接用软件内的投屏功能。...快投屏 - 手机投屏到电视,电脑的无线投屏软件​在电视下载快投屏之后,就可以看到不同手机的连接提示。支持苹...
  • 最近看了关于手机投屏的功能,本来打算跑个miracast的demo玩玩,奈何电脑网卡不支持wifi direct,网上搜索发现有个开源的库scrcpy可以实现有线投屏,scrcpy项目github地址。 安装方式可以选择apt的方式,也可以选择...
  • 安卓手机投屏到平板操作方法:1、需要使用第三方投屏软件进行操作。2、使用时需要让手机和平板处于同一wifi网络下,在平板打开投屏软件,然后点击手机的投屏功能即可。投屏一般会用到“miracast”协议,使用...
  • 手机投屏到电脑

    2021-05-25 16:19:15
    使用虫洞不仅可以把手机投屏到电脑,还可以在电脑上面操控手机 android和ios都支持 下载地址:https://er.run/
  • 随着现在科技的快速发展,智能产品不断的创新,各种各样的黑科技技术逐步的呈现在我们的眼前,而今天小编要和大家讨论的就是手机投屏到电脑上这一技术,就目前而言,大家对投影技术应该非常的熟悉了,不管是演讲还是...
  • 使用工具:手机电脑具体的操作方法:1、手机投屏电脑的优势就是手机屏幕变大了,手机中的图片视频文件等都是可以共享了,也可以将手游投屏电脑,不论是玩游戏还是直播视频都是无所畏惧的。2、首先这是对于安卓用户...
  • 手机的内容投屏到电视,目前市面的办法实在太多了,不管是电视机顶盒、转换器还是手机自带的投屏功能现在都能实现了,而且方法也非常简单。本人就尝试过很多种办法,今天在这里简单介绍下了。手机自带的投屏...
  • 偶然发现了一个很实用的投屏软件Vysor,Vysor是一个谷歌浏览器的插件,可以将手机的屏幕投屏到电脑上,也可以从电脑上来控制屏幕。下面来介绍一下安装的过程,是以Windows10家庭版和华为手机来做的演示 安装: 1....
  • 更喜欢把自己的快乐经历分享给别人,其实方法很简单,把手机照片视频投放在电脑或者电视机,大家可以一起观赏,岂不是两全其美的事情,苹果手机是有镜像投屏功能的,那么Iphone8如何投屏到电脑?使用工具:手机&...
  • 之前一直用三星s10的smart view用屏幕镜像功能电视来达到用电视看手机本地视频的目的,但是发现一段时间不接触手机的话,会关闭同步的视频画面显示而显示息屏显示(时间年月日等信息),而且无法关闭(只能手动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,434
精华内容 573
关键字:

安卓手机怎么投屏到电脑上