[Android 7.0+] AppRadio Unchained Rootless

Search This thread

sideshowbob84

Member
Oct 15, 2007
6
1
I continued working on AAUnchained for another month.
Short progress report:

General:
- App can now completely reset to initial state so it can be started again
- Implemented start / stop when USB to head unit connected / disconnected
- Powerlock added so phone will never sleep when AAUnchained is active

Protocol
- Did some more testing with different emulators regarding different protocol versions
- Made lots of sensor status messages (like day/night, odometer etc.) working
- Video and audio focus messages are now supported which means that you can now jump back to the head unit and return to the mirrored phone again without losing the connection

Touch improvements:
- Multitouch is now working
- Touch compensates for black bars because of different aspect ratio between head unit and phone

More testing:
- Bought a Samsung S22+ for testing with Android 12 & high performance hardware
- No artefacts in video anymore (there were some on my old Nexus 6)
- Audio delay is down to 200 milliseconds (was 800 - 1000 on Nexus 6)

I am going to make a new demo video soon.
Hi,
i am very interested in the new App version. But it is not available at the moment, correct? The App AppRadio Unchained Rootless available at the playstore is another App, correct?
Thanks a lot and kind regards
 
  • Like
Reactions: bigcid10

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
Hi,
i am very interested in the new App version. But it is not available at the moment, correct? The App AppRadio Unchained Rootless available at the playstore is another App, correct?
Thanks a lot and kind regards
No it's not available and it's a completely different app. Unfortunately there's a huge snag . Not all audio can be captured and sent to the head unit. I described it a few posts back. The main issue is that voice prompts from navigation apps can't be captured and that's one of the main apps you want to use while driving.

I can only work around that on a rooted phone. But the average user doesn't have a rooted phone.
Other possible solutions would be some loopback audio device. Like Bluetooth audio to wifi. Or a USB audio loopback device. But these complicate operation enormously and may not always work so it's not ideal.
So that's what holding back the development currently.

By the way, the app could never be in the Play store as Google won't allow it. Obviously it's not the way they want you to use your Android Auto head unit. It's not a real problem as you can still sideload apps.

Using Android is like using Windows without an administrator account. Basically Google is the administrator who decides what is good for you. Supposedly for security reasons but often for commercial reasons. Example: ad blocking apps are not allowed in the Play store and Google does everything to make it difficult to implement such an app. They don't want anything blocking their own ads.
Another example: wireless casting to Miracast devices. Once there was support for that in Android. Then Google developed Chromecast. Since then no support for Miracast in Google phones.
 

sideshowbob84

Member
Oct 15, 2007
6
1
No it's not available and it's a completely different app. Unfortunately there's a huge snag . Not all audio can be captured and sent to the head unit. I described it a few posts back. The main issue is that voice prompts from navigation apps can't be captured and that's one of the main apps you want to use while driving.

I can only work around that on a rooted phone. But the average user doesn't have a rooted phone.
Other possible solutions would be some loopback audio device. Like Bluetooth audio to wifi. Or a USB audio loopback device. But these complicate operation enormously and may not always work so it's not ideal.
So that's what holding back the development currently.

By the way, the app could never be in the Play store as Google won't allow it. Obviously it's not the way they want you to use your Android Auto head unit. It's not a real problem as you can still sideload apps.

Using Android is like using Windows without an administrator account. Basically Google is the administrator who decides what is good for you. Supposedly for security reasons but often for commercial reasons. Example: ad blocking apps are not allowed in the Play store and Google does everything to make it difficult to implement such an app. They don't want anything blocking their own ads.
Another example: wireless casting to Miracast devices. Once there was support for that in Android. Then Google developed Chromecast. Since then no support for Miracast in Google phones.
Thanks for clarification! When i was using Android Auto with my old phone. It was always additonally connected via Bluetooth while it was connected via cable to my head unit. But i do not know how sound was transfered, so i think this is something you already checked.
Thanks a lot nevertheless. An App like yours would still be great.
 

tiho5

Senior Member
Jun 21, 2010
2,703
1,024
Bulgaria
No it's not available and it's a completely different app. Unfortunately there's a huge snag . Not all audio can be captured and sent to the head unit. I described it a few posts back. The main issue is that voice prompts from navigation apps can't be captured and that's one of the main apps you want to use while driving.

I can only work around that on a rooted phone. But the average user doesn't have a rooted phone.
Other possible solutions would be some loopback audio device. Like Bluetooth audio to wifi. Or a USB audio loopback device. But these complicate operation enormously and may not always work so it's not ideal.
So that's what holding back the development currently.

By the way, the app could never be in the Play store as Google won't allow it. Obviously it's not the way they want you to use your Android Auto head unit. It's not a real problem as you can still sideload apps.

Using Android is like using Windows without an administrator account. Basically Google is the administrator who decides what is good for you. Supposedly for security reasons but often for commercial reasons. Example: ad blocking apps are not allowed in the Play store and Google does everything to make it difficult to implement such an app. They don't want anything blocking their own ads.
Another example: wireless casting to Miracast devices. Once there was support for that in Android. Then Google developed Chromecast. Since then no support for Miracast in Google phones.
Make it for rooted devices only. We see many apps like that. For example skvalex call recorder. But many people still use it and even root for such apps.

After all if one wants to get more out of their phone, they'd root it.
 

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
Make it for rooted devices only. We see many apps like that. For example skvalex call recorder. But many people still use it and even root for such apps.

After all if one wants to get more out of their phone, they'd root it.
Ok I am working a bit on it. Now have a proof of concept working that captures all audio on a rooted phone. It requires Android 10 or higher but doesn't require to install some Magisk module . I have only tested it on Android 11.

I think I found a new way to capture REMOTE_SUBMIX audio. It requires root but doesn't need to be a system app (=signed with the manufacturer key). Now have to see if that also works with Android 12 and 13.
 

stargate125645

Senior Member
Sep 25, 2012
780
71
Omaha, NE
Ok I am working a bit on it. Now have a proof of concept working that captures all audio on a rooted phone. It requires Android 10 or higher but doesn't require to install some Magisk module . I have only tested it on Android 11.

I think I found a new way to capture REMOTE_SUBMIX audio. It requires root but doesn't need to be a system app (=signed with the manufacturer key). Now have to see if that also works with Android 12 and 13.
Which phone do you have rooted?
 

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
Which phone do you have rooted?
My old Nexus 6 running Lineage 18 = Android 11. It works, it's a bit slow but fine for development.

I guess you are looking into rooting. I did the same for my Samsung S8+. There's descriptions on how to do it but it's pretty complicated and not that clear. I think I found a write up that might work but still haven't rooted it. There's also features that won't work anymore when you root your phone. And if you have a new phone, warranty is void.
This is the reason why I think not that many people are going to root their phone just to use an app. I am not even considering to root my new S22+.
 

stargate125645

Senior Member
Sep 25, 2012
780
71
Omaha, NE
My old Nexus 6 running Lineage 18 = Android 11. It works, it's a bit slow but fine for development.

I guess you are looking into rooting. I did the same for my Samsung S8+. There's descriptions on how to do it but it's pretty complicated and not that clear. I think I found a write up that might work but still haven't rooted it. There's also features that won't work anymore when you root your phone. And if you have a new phone, warranty is void.
This is the reason why I think not that many people are going to root their phone just to use an app. I am not even considering to root my new S22+.
I will not be rooting my primary phone for those stated reasons. But, I would consider using an older phone for that purpose. I would also consider this app useful even if I don't get to transfer navigation directions over car audio provided we can switch between stock Android Auto and your application prior to turning on the car. I think there are options to make this work!
 

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
I will not be rooting my primary phone for those stated reasons. But, I would consider using an older phone for that purpose. I would also consider this app useful even if I don't get to transfer navigation directions over car audio provided we can switch between stock Android Auto and your application prior to turning on the car. I think there are options to make this work!
For me navigation and playing music would be the most important uses cases. Can you tell me what you would be yours?

Also other people reading this, what would be your main reason to use a phone mirror app? Just to give me some clue what is important to have working.
 

tiho5

Senior Member
Jun 21, 2010
2,703
1,024
Bulgaria
For me navigation and playing music would be the most important uses cases. Can you tell me what you would be yours?

Also other people reading this, what would be your main reason to use a phone mirror app? Just to give me some clue what is important to have working.
Everything actually.

I would look at my calendar and see what are my next events and tasks. I would also move, delete events and etc.

I would have my email app read my emails (text to speech). I also write emails (dictate).

Same as the above for WhatsApp and other messaging apps.

I would use maps, music, even sometimes observe cameras from my app.

YouTube for sure.

On long trips I would play TV from my TV app. I would not watch it, but would listen to shows, news on TV.
 

stargate125645

Senior Member
Sep 25, 2012
780
71
Omaha, NE
For me navigation and playing music would be the most important uses cases. Can you tell me what you would be yours?

Also other people reading this, what would be your main reason to use a phone mirror app? Just to give me some clue what is important to have working.
My understanding is that the only audio you cannot capture and send to the head unit is voice navigation at this point, correct? Did I misinterpret that?

I would use AAU like my phone for all purposes (texting, email, phone calls, TV, videos, movies, music, navigation), but I don't actually use the voice portion of navigation - I just watch the screen and read. (I know a lot of people like that, actually.) So not hearing the voice during navigation is not even close to an issue for me. But, it would be nice to be able to make sure regular AA can still be used in the off chance that I would need voice information, hence my comment about switching being possible before starting the car.

If my above-stated understanding of the audio that isn't transferred is incorrect, then I would need a rooted phone. I would still purchase the app; however, I would have a secondary phone that I would root - I don't have time to keep up with all the updates necessary for a primary phone to be rooted.

Having a version of this app that doesn't require rooting would be the strong preference for me, even if a few features are missing. I'm not sure what all it would take for you to have a rooted and unrooted version, so I'm not sure if that's an option. Just one version is a huge amount of work I'm sure.
 

micfogas

Member
Jul 10, 2015
5
1
San Bernardino
The AVH-X2650BT has AppRadio USB and is not supported.
Hi. I know this is a really old post and my radio is outdated, but I've always used pioneer head units because, well, they are built well and last year's beyond their release periods. I've been using them since the first OLED displays nearly 20 years ago? Anyway..

I happen to have an AVH-X5800BHS which is AppRadio One via USB and, as you mentioned, not supported. I've tried finding some resources to use the AppRadio One feature (I never got it working even when it was brand new), but I haven't been able to find any.

If you don't mind a couple minutes of your time, would you mind giving me a rundown of the technical limitations that prevent something like your app from working on the USB models? It doesn't need to be ELI5 style, my technical knowledge is fairly advanced. I'm only asking you because of your specific expertise with the AppRadio software itself and I'm guessing you would have supported the USB version if it was doable without investing more time in it than it's worth. I haven't come across anyone else who has put time into it and shared what they learned, so I figured it's worth asking at least. I'm going to guess they used a proprietary protocol instead of standardized.

After I get my sound system finished (I only now decided to finally build it out), I plan to upgrade to a pioneer DMH series or something. Unless I decide to just build out the electronics and drop in a touch screen connected to an RPi.

Anyway thanks in advance either way.
 

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
If you don't mind a couple minutes of your time, would you mind giving me a rundown of the technical limitations that prevent something like your app from working on the USB models? It doesn't need to be ELI5 style, my technical knowledge is fairly advanced. I'm only asking you because of your specific expertise with the AppRadio software itself and I'm guessing you would have supported the USB version if it was doable without investing more time in it than it's worth. I haven't come across anyone else who has put time into it and shared what they learned, so I figured it's worth asking at least. I'm going to guess they used a proprietary protocol instead of standardized.
To explain takes a bit more than a few minutes but ok. The supported head units get the phone's video via HDMI input. Touch data and so on goes back via Bluetooth RFCOMM. This is an emulated RS-232 connection. This is relatively easy to reverse engineer. I say relatively because it was hard enough to reverse engineer a binary serial protocol without having any source code.

AppRadio One uses USB for everything. This means that video from the phone is streamed via USB. Audio as well. Touch data and so on goes back via USB. In the app some library from a company called Abaltatech is used for this. The protocol is completely proprietary. At the time I was looking into this I was not familiar with streaming video. Also it's quite hard to even spy on USB traffic. It requires expensive equipment to do so. So I would say it's a magnitude more complicated than the Bluetooth protocol. I tried for a while to modify the Pioneer app but gave up on that as well.

Recently I worked on implementing the Android Auto protocol for a new app. AA works via USB too. This was easier as the protocol was reverse engineered by other people already. However this is also not 100% clear as there are different version of the protocol. I have a working prototype but there's one catch. Because of limitations Google put in Android it's not possible to capture system audio and transfer it to the head unit. I can make it work but that requires a rooted phone. I wanted to make it work without root so I am stuck there.
 
  • Like
Reactions: bigcid10

EvilDragon17

Member
Feb 21, 2009
37
4
Recently I worked on implementing the Android Auto protocol for a new app. AA works via USB too. This was easier as the protocol was reverse engineered by other people already. However this is also not 100% clear as there are different version of the protocol. I have a working prototype but there's one catch. Because of limitations Google put in Android it's not possible to capture system audio and transfer it to the head unit. I can make it work but that requires a rooted phone. I wanted to make it work without root so I am stuck there.

Hm, how about a version that has optional root for system audio?
Some users don't need audio but just want to display some apps in their car which don't need audio?

And if you have root, you can use system audio.

Another idea: Most cars have an audio source selection so you can use navigation and listen to radio at the same time. Would it be possible to use Bluetooth to transfer the audio from the phone to the head unit?
Using that workaround it should be possible to transfer video via USB and audio via Bluetooth without the need of root.
 
  • Like
Reactions: bigcid10

stargate125645

Senior Member
Sep 25, 2012
780
71
Omaha, NE
Hm, how about a version that has optional root for system audio?
Some users don't need audio but just want to display some apps in their car which don't need audio?

And if you have root, you can use system audio.

Another idea: Most cars have an audio source selection so you can use navigation and listen to radio at the same time. Would it be possible to use Bluetooth to transfer the audio from the phone to the head unit?
Using that workaround it should be possible to transfer video via USB and audio via Bluetooth without the need of root.
If you can't capture the audio, I don't think it matters what method you use to stream it.
 

EvilDragon17

Member
Feb 21, 2009
37
4
If you can't capture the audio, I don't think it matters what method you use to stream it.
Oh, you can't GRAB the internal audio at all... I thought you couldn't just route it to the AA USB protocol. All right, that will cause a problem.

My guess is that Google did that to prevent apps from recording anything that happens on your phone.
 

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
Oh, you can't GRAB the internal audio at all... I thought you couldn't just route it to the AA USB protocol. All right, that will cause a problem.

My guess is that Google did that to prevent apps from recording anything that happens on your phone.
Yes, that's the issue.

Currently I think there's the following options:
1) It's possible to grab the audio when you have root.

2) Also you can always connect a Bluetooth audio device. So a device that can act as a Bluetooth device and then stream it back via wifi would be a possibility. That device could connect to the phone when it has it's hotspot enabled.
A possible implementation could be done with a Raspberry Pi Pico W microcontroller. It has wifi and Bluetooth but the Bluetooth is not enabled yet. But they are working on that.

3) I found that you can also route audio to a cheap USB audio device. You can then record the audio from the input if you loop it back. However those cheap USB audio devices only have mono audio input.
I think it would be possible to use a Raspberry Pi Pico microcontroller. You can implement all kind of USB devices with it. It took a brief look at it and a stereo audio loopback device could be done.
 

EvilDragon17

Member
Feb 21, 2009
37
4
Yes, that's the issue.

Currently I think there's the following options:
1) It's possible to grab the audio when you have root.

2) Also you can always connect a Bluetooth audio device. So a device that can act as a Bluetooth device and then stream it back via wifi would be a possibility. That device could connect to the phone when it has it's hotspot enabled.
A possible implementation could be done with a Raspberry Pi Pico W microcontroller. It has wifi and Bluetooth but the Bluetooth is not enabled yet. But they are working on that.

3) I found that you can also route audio to a cheap USB audio device. You can then record the audio from the input if you loop it back. However those cheap USB audio devices only have mono audio input.
I think it would be possible to use a Raspberry Pi Pico microcontroller. You can implement all kind of USB devices with it. It took a brief look at it and a stereo audio loopback device could be done.

Hm, but thinking about it a bit more is audio grabbing really needed?

If I'm correct, grabbing audio is needed if you want to transfer all audio via the AA USB protocol.
So yes, for a proper and easy audio / video transfer to the car, audio grabbing would be needed.

However, if you ONLY transfer the video stream via AA USB and the user simply connects the smartphone via Bluetooth to the car, then why would audio grabbing be needed? Android would play ALL system audio via Bluetooth.

I once had the problem, that for some reason, Android Audio didn't send any audio via the USB connection.
And that's when I used that method as workaround. I simply connected the phone via Bluetooth and that worked fine.
 

Area51©

Senior Member
Aug 30, 2013
2,491
1,065
Breda
Hm, but thinking about it a bit more is audio grabbing really needed?

If I'm correct, grabbing audio is needed if you want to transfer all audio via the AA USB protocol.
So yes, for a proper and easy audio / video transfer to the car, audio grabbing would be needed.

However, if you ONLY transfer the video stream via AA USB and the user simply connects the smartphone via Bluetooth to the car, then why would audio grabbing be needed? Android would play ALL system audio via Bluetooth.

I once had the problem, that for some reason, Android Audio didn't send any audio via the USB connection.
And that's when I used that method as workaround. I simply connected the phone via Bluetooth and that worked fine.
OK. If your entertainment system supports AA and Bluetooth audio at the same time then that's a valid workaround. However that doesn't mean that every head unit / entertainment system supports this. The only thing that is sure that every system supports audio via the AA USB protocol.
 

EvilDragon17

Member
Feb 21, 2009
37
4
OK. If your entertainment system supports AA and Bluetooth audio at the same time then that's a valid workaround. However that doesn't mean that every head unit / entertainment system supports this. The only thing that is sure that every system supports audio via the AA USB protocol.

Yes, it actually does that. A lot of people listen to normal radio, for example, but still need to get listen to the navigation from Android Auto. So both audio sources are mixed together.

And - at least in my car - Bluetooth is just another audio source like CD or Radio, so it can always be played at the same time as Android Auto.

I can imagine that most systems do it similar, they just use Android Auto as an overlay for both audio and video but still have their normal audio sources available.
Otherwise the only way to listen to music would be if the smartphone would play audio as well.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Great news regarding AAUnchained. Finally video streaming to my Pioneer Android Auto head unit is working and it is really stable. See here for a demo: AAUnchained video mirroring demo.
    This demo shows the AAUnchained app running on my old Nexus 6 with Android 9. It's connected wirelessly to the head unit via an AAWireless adapter. AAunchained mirrors the phone's screen to the head unit directly, 'talking' the Android Auto protocol. Because Android Auto is not used, all of the screen estate is available for mirroring.
    Next things to do is to get audio working and implementing touch from the head unit to the phone.

    I did some more testing with audio and it's also sent to the head unit using the AA protocol. Capturing internal audio is only possible with Android 10 and higher so that's going to be a requirement for the app. Have to see how that works but it's not nearly as difficult as getting the video to work.

    Touch is even simpler. Touch info is already sent via the AA protocol, just a matter of hooking it up.
    6
    Now have audio working as well. Going to add touch and then make a full demo.
    4
    AppRadio Unchained Rootless allows full mirroring of your phone from your AppRadio. This means that any app can be controlled from the head unit screen and not just a few that are specially adapted.

    AppRadio Unchained Rootless is available from the Play store here: AppRadio Unchained Rootless
    The user's manual is available here: User's manual

    For this app to work Android 7 or higher is required. As Android 7 only allows to inject complete gestures, a gesture has to be completed first on the head unit before it will be dispatched to the phone. It works similar to record and playback. Suppose you need to do a long press of 2 seconds, first press for 2 seconds, once you lift your finger it will be dispatched and replicated on the phone where it will take 2 seconds as well. It's recommended to only do things that take a short time so there won't be too much delay.

    Important
    The 'Smartphone setup' on the head unit needs to be set correctly for Android as by default it's configured for Iphone. Go to Settings->System->Input/Output Settings->SmartphoneSetup and set Device to 'Others' and Connection to 'HDMI'. See this video: Smartphone setup

    Any other AppRadio related app needs to be uninstalled as this blocks the connection to AppRadio Unchained Rootless.

    AppRadio mode requires that your device is connected to the HDMI input of the head unit. Depending on the device this can be done with a MHL / Slimport / Miracast / Chromecast adapter. This app supports automatic connection to wireless screencasting devices. Since Google API doesn't support this directly it is done via the phone's GUI. Note that only the phone's built-in screencasting capabilities can be used.

    Because this app may not work for your setup there's an extended trial period of 48 hours. In order to claim this simply request a refund within 48 hours after purchase by emailing the order number to the support email address.

    Supported head units: any AppRadio that supports Android AppMode via HDMI.
    For example: SPH-DA100, SPH-DA110, SPH-DA210, SPH-DA120, AVH-X8500BHS, AVH-4000NEX, AVH-4100NEX, AVH-4200NEX, AVIC-X850BT, AVIC-X950BH, AVIC-Z150BH, AVIC-6000NEX, AVIC-6100NEX, AVIC-6200NEX, AVIC-7000NEX, AVIC-7100NEX, AVIC-7200NEX, AVIC-8000NEX, AVIC-8100NEX, AVIC-8200NEX

    Units that have AppRadio mode via USB (a.k.a. AppRadio One) are not supported.

    Android 7 Bluetooth bug
    If during connection 'Accept thread error' is displayed this is not because of a bug in the app but due to a bug in Android 7.
    It can be fixed by disabling BT background scanning: Go to Settings -> Location, in top right menu click Scanning -> Bluetooth Scanning.

    The following features are supported:
    - Multitouch
    - AppRadio buttons
    - GPS data transfer via mock locations (only works with head units that have a GPS receiver)
    - Wake lock
    - Rotation locker (to put any app in landscape mode)
    - Real calibration
    - Start on HDMI detection (for use with phones and HDMI adapters)
    - Notifications to indicate connection state
    - Diagnostics
    - Automatic Bluetooth toggle for improved connection

    Beta test version
    The beta test version has the latest features but can also contain bugs.
    You need to become a tester of the AppRadio Unchained Rootless app to be able to get it.
    Please apply here: https://play.google.com/apps/testing/mars.area51.arunchainednr

    Beta test release notes
    0.09
    - Fix for black menu text color, now white as it should be.
    - SWC commands can now be directed to a target app.

    0.08
    - Fix for calibration out of range.
    - Fix for delay of casting start.
    - Support for automatic casting on Samsung Android 9.
    - Fix for startForegroundService.
    - Fix for rotation locker.
    - Change HDMI wired connection trigger to be triggered by Bluetooth connection.

    AppRadio is a registered trademark of Pioneer.
    Disclaimer: You are solely responsible for using this app in such a way that it does not impair your ability to drive.
    4
    A coincidence that you ask , but recently I started working on AAUnchained again. I talked to some people about it and got some new insights as how to go forward.
    It's pretty tough but I am slowly making progress. It's pretty stable now when talking to the OpenAuto head unit simulator. I can also talk to my Pioneer head unit via AAwireless but not stable yet. Plan to do some tests to talk to the head unit via USB and iron out the kinks. The code that I have now is basically a prototype and nowhere near production quality.
    4
    AAUnchained

    Thanks to the virus I have now more time available as for my regular job I am now working from home which saves a lot of commuting time.
    So I finally decided to kick off Android Auto Unchained a.k.a AAUnchained a.k.a. AAU. The target is to have one app that impersonates Android Auto, mirrors the phone screen and accepts touch input from the head unit. This without using anything from Android Auto itself. Preferably also without root access.

    Here's my to do list:
    1) Setup simulated Android Auto by using openauto
    2) Get Android Auto head unit
    3) Make Python proof of concept version of AAU
    4) - Get SSL encryption working
    5) - Get video & audio streaming working to mirror the head unit audio & video
    6) - Get touch input from head unit working to inject touch on the phone
    7) Create actual app implementing everything in Java.
    8) Do loads of testing

    Current status:
    1) Done. Have openauto compiled & working on Linux Mint.
    2) Ordered a Pioneer SPH-DA250DAB. I think this is the EU version of the DMH-2600NEX.
    3) Got Python development environment setup on Linux Mint.
    4) Working on it.
    5....) To be done.

    There seems to be one issue that's not easy to solve and that is to capture internal Android audio in order to be able to stream it. This is because Google restricted access to it. I hope there's a way around it or else the app will be pretty useless.