Instant, private screen mirroring and high-fidelity music streaming, right on your television.
AirRoom TV provides a cross-platform, low-latency AirPlay receiver experience for Apple devices, requiring no registration, no advertisements, and no cloud-based telemetry tracking.
Sharing a screen or playing audio on a television should be direct and instantaneous. It should not require configuring complex casting hardware, logging into social media accounts, or buying expensive ecosystem-locked hubs.
AirRoom TV is engineered to be the simplest, fastest, and most private way to turn any Android TV device into an AirPlay receiver:
| Feature | AirRoom TV | Traditional Smart TV Cast | Apple TV Hardware |
|---|---|---|---|
| Setup Cost | Zero. Simply install and open the app | Requires proprietary companion apps & setups | Requires buying high-priced hardware |
| Protocol | Native AirPlay & RAOP integration | Often relies on DLNA or custom screen protocols | Proprietary Apple ecosystem |
| Hardware Compatibility | Any Android TV & Google TV device | Limited built-in support, varies by brand | Apple-only ecosystem |
| Privacy | 100% Local. Streaming data never leaves the network | Collects telemetry, viewing habits, & usage analytics | Closed source, cloud accounts required |
| Feature | What it does |
|---|---|
| 📺 Low-Latency Mirroring | Mirrors screens from iPhones, iPads, and MacBooks directly onto the television screen. |
| 🎵 Audio Receiver Engine | Plays high-fidelity music, displaying metadata (title, artist, progress) and dynamic blurred album art backgrounds. |
| 🛜 Native Bonjour Discovery | Leverages Android's native system daemon (NsdManager) for reliable _airplay._tcp and _raop._tcp advertisements. |
| 👤 Sender-Aware UI | Sanitizes and displays the human-readable sender name when system-wide audio does not supply track metadata. |
| 🎛️ TV-First Compose UI | Provides a native television layout optimized for D-pad navigation with capsule-style card options. |
| 🔒 Secure Connections | Protects the television screen from unauthorized casts using manual connection approval popups. |
| 🔄 Live Server Reload | Dynamically stops and restarts background AirPlay processes immediately when settings are updated. |
| 🌉 Developer Emulator Bridge | Leverages a macOS shell utility to bypass local emulator NAT limitations during local testing. |
| 🚫 Zero User Tracking | Operates entirely locally with no external analytical reporting, cookie tracking, or user telemetry. |
- Install and open the AirRoom TV application.
- Ensure both the television and the Apple device are connected to the same Wi-Fi network.
- Open the Control Center on the iPhone, iPad, or Mac.
- Select the target service:
- For Screen Mirroring: Tap Screen Mirroring and select the primary device name (e.g.
MyTV). - For Music / Audio Streaming: Tap the AirPlay audio icon and select the device name ending with
Speakers(e.g.MyTV Speakers). This is required because audio-only streaming uses the native RAOP protocol.
- For Screen Mirroring: Tap Screen Mirroring and select the primary device name (e.g.
When running the application inside an Android TV Emulator, Bonjour/mDNS discovery cannot traverse the emulator's NAT interface. To test locally:
- Open the app on the TV emulator.
- In a terminal on the host Mac, execute:
chmod +x scripts/emulator-bridge.sh ./scripts/emulator-bridge.sh
- The bridge script dynamically discovers the emulator's dynamic cryptographic keys and custom name, then advertises the matching services on the Mac's Wi-Fi network.
Development is active to continuously improve AirRoom TV. The following are the current limitations in this release:
- Gallery Video Playback: Videos cast directly from the native iOS Photos app/gallery may hang or fail to render video frames, though the audio track streams successfully.
- Photo Slideshow Transitions: Smooth transitions between casting Photos gallery images are not supported. To view a different photo, the current casting view must be closed to select and cast the next photo.
- Image Zooming: Zooming or scaling cast images on the TV screen is currently unstable.
- Screen Mirroring Rotation: Display rotation during active screen mirroring can be unstable or buggy.
- Screen Mirroring Disconnection: No manual disconnect button is displayed on the TV screen during mirroring; mirroring must be stopped from the sender device.
- Music Playback Control: Play, pause, and track skip controls using the TV remote are not supported.
- Native Media Player for Music: Streaming music from an iPhone successfully launches and displays metadata inside the app's native custom media player, but streaming from macOS does not load the custom player.
AirRoom TV is open-source. Contributions, issue reports, and pull requests are welcome to help improve the project.
Clone the repository and use the Android SDK and Gradle to build and install the debug package:
# Compile the debug APK
./gradlew assembleDebug
# Install onto the connected device/emulator
adb install -r app/build/outputs/apk/debug/app-debug.apkThis project references and incorporates patterns, concepts, or code from the following open-source projects:
- ariplay-receiver
- PhairPlay
AirRoom TV is an independent compatible receiver application. AirPlay, Bonjour, Apple TV, iPhone, iPad, and macOS are trademarks of Apple Inc., registered in the U.S. and other countries. This project is not affiliated with, authorized, sponsored, or officially endorsed by Apple Inc.
This software is licensed under the MIT License - see the LICENSE file for details.