0

I'm currently working on an app with the end goal of being roughly analogous to an Android version of Air Play for the iDevices.

Streaming media and all that is easy enough, but I'd like to be able to include games as well. The problem with that is that to do so I'd have to stream the screen.

I've looked around at various things about taking screenshots (this question and the derivatives from it in particular), but I'm concerned about the frequency/latency. When gaming, anything less than 15-20 fps simply isn't going to cut it, and I'm not certain such is possible with the methods I've seen so far.

Does anyone know if such a thing is plausible, and if so what it would take?

Edit: To make it more clear, I'm basically trying to create a more limited form of "remote desktop" for Android. Essentially, capture what the device is currently doing (movie, game, whatever) and replicate it on another device.

My initial thoughts are to simply grab the audio buffer and the frame buffer and pass them through a socket to the other device, but I'm concerned that the methods I've seen for capturing the frame buffer are too slow for the intended use. I've seen people throwing around comments of 3 FPS limits and whatnot on some of the more common ways of accessing the frame buffer.

What I'm looking for is a way to get at the buffer without those limitations.

Community
  • 1
  • 1
Agayek
  • 31
  • 6

1 Answers1

0

I am not sure what you are trying to accomplish when you refer to "Stream" a video game.

But if you are trying to mimic AirPlay, all you need to do is connect via a Bluetooth/ internet connection to a device and allow sound. Then save the results or handle it accordingly.

But video games do not "Stream" a screen because the mobile device will not handle much of a work load. There are other problems like, how to will you handle the game if the person looses internet connection while playing? On top of that, this would require a lot of servers to support the game workload on the backend and bandwidth.

But if you are trying to create an online game. Essentially all you need to do is send and receive messages from a server. That is simple. If you want to "Stream" to another device, simply connect the mobile device to speakers or a TV. Just about all mobile video games or applications just send simple messages via JSON or something similar. This reduces overhead, is simple syntax, and may be used across multiple platforms.

It sounds like you should take a look at this (repost): https://stackoverflow.com/questions/2885533/where-to-start-game-programming-for-android

If not, this is more of an open question about how to implement a video game.

Community
  • 1
  • 1
wseme
  • 805
  • 6
  • 14
  • Apparently I didn't explain it well. The goal is to be able to play Angry Birds (or a movie, or whatever else) on a tablet/phone, and replicate the display and audio on another device. Hence the Air Play comparison. I'm not trying to make a game, or any specific app really, simply the framework that allows any app to be replicated on a larger/different screen. – Agayek Oct 03 '12 at 19:50
  • Also, could you expanded a bit on what you mean by connecting via bluetooth/internet connection? Is there already an existing framework to do such a thing that I can't find? – Agayek Oct 03 '12 at 19:58