Skip to content

Flutter SDK

Current version: v1.0.0

Cross-platform Flutter plugin. Uses ExoPlayer on Android and AVPlayer on iOS.

Requirements

  • Flutter 3.16 or later
  • Dart SDK 3.2 or later
  • An active xStreams stream ID and token endpoint

Installation

Add to your pubspec.yaml:

yaml
dependencies:
  xstreams_player: ^1.0.0

Then run:

bash
flutter pub get

Usage

dart
import 'package:xstreams_player/xstreams_player.dart';

class LivePage extends StatefulWidget {
  @override
  State<LivePage> createState() => _LivePageState();
}

class _LivePageState extends State<LivePage> {
  late final XStreamsPlayer _player;

  @override
  void initState() {
    super.initState();
    _player = XStreamsPlayer(
      config: XStreamsPlayerConfig(
        streamId: 'YOUR_STREAM_ID',
        tokenEndpoint: 'https://api.yoursite.com/api/v1/ssai/YOUR_STREAM_ID/token/',
        streamKey: 'sk_abc123...',
      ),
    );
    _player.play();
  }

  @override
  void dispose() {
    _player.destroy();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return AspectRatio(
      aspectRatio: 16 / 9,
      child: XStreamsPlayerView(player: _player),
    );
  }
}

Features

  • HLS playback on both iOS and Android
  • Uses native players (ExoPlayer / AVPlayer) under the hood
  • Ad break support
  • Fullscreen toggle
  • Token management and silent refresh

Manual download

If you prefer not to use pub, download the archive:

https://cdn.xstreams.io/sdk/flutter/xstreams_player-1.0.0.tar.gz

See also

Live streaming infrastructure for developers.