2017-06-26 5 views
0

画面のミラーリングの概念をサポートするアプリを開発することを楽しみにしています。 どのように実装すればいいですか?私はChromeのキャストリフレクター2で複数のドキュメントを読んでいます。私は単にAndroidとiPhoneの間で画面を共有したり、同じプラットフォームで画面を共有する必要があります。 ご意見をお待ちしております。アドバイスをいただければ幸いです。AndroidとiOSプラットフォームまたは同じプラットフォームでの画面のミラー化

答えて

0

設定した品質パラメータを使用して、画面のUIイメージを UIGraphicsBeginImageContextWithOptions(self.view.size, false, 0.5) view.drawHierarchy(in: view.frame, afterScreenUpdates: true) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext()という行に戻す関数を作成することを検討してください。イメージコンテキストはスレッドセーフであり、心配はありません。 https://developer.apple.com/documentation/uikit/1623912-uigraphicsbeginimagecontextwitho。私はあなたが望むかもしれない品質設定を知らないが、それを変更することができる。次に、シリアル化されたバッファにあるデータを送信する関数/クラスを作成できます。私はこれがスクリーン・ミラーリングのためのものであると仮定しています。ストリーミングの一種です。データ転送プロトコルとしてUDPを使用したいと思っています。なぜなら、パケットが失われるかどうかは気にしないからです。 3ウェイハンドシェイク。 UDP経由でデータを転送する方法については、このフォーラム投稿Swift: Receive UDP with GCDAsyncUdpSocketを参照してください。要するに、データをシリアライズして(バイトに変換して)、小さなフォーマットで送信し、ソケット接続されたデバイスがイメージに変換する新しいデータを受信して​​いる相手側でデシリアライズする必要があります。最後に、1イメージを返す画面キャプチャ関数が1秒に数回呼び出されるようにする必要があります。がんばろう!

関連する問題