Skip to content

rohanjsh/flutter-cast-airplay-android-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

Pitcher

A Flutter app for casting media to Chromecast and AirPlay devices. Discover devices, connect, and control playback with a simple media player UI.

Features

  • 🔍 Device Discovery - Scan for Chromecast and AirPlay devices on your network
  • 📺 Chromecast Support - Full Google Cast SDK integration (Android & iOS)
  • 🍎 AirPlay Support - Native AVPlayer-based AirPlay streaming (iOS)
  • 🎵 Audio/Video - Toggle between audio and video casting modes
  • ▶️ Transport Controls - Play, pause, seek, skip, and volume control

Architecture

The app uses Pigeon for type-safe Flutter ↔ Native communication with layered architecture.

Android Native Layer

Android Architecture

iOS Native Layer

iOS Architecture

Flutter & Pigeon Communication

Flutter Pigeon Architecture

Getting Started

# Install dependencies
flutter pub get

# Run on device (requires physical device for cast)
flutter run

Project Structure

lib/
├── main.dart                    # App entry point
└── src/
    ├── cast/                    # Cast domain & data layer
    │   ├── data/                # Repository + Pigeon API
    │   └── domain/              # State models + errors
    ├── core/                    # Shared utilities
    └── presentation/            # UI + Controller

android/.../cast/                # Kotlin Cast implementation
ios/Runner/Cast/                 # Swift Cast implementation
pigeons/cast_api.dart            # Pigeon interface definition

About

Flutter app for casting media to Chromecast and AirPlay devices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published