swarm_cloud 0.0.2 copy "swarm_cloud: ^0.0.2" to clipboard
swarm_cloud: ^0.0.2 copied to clipboard

discontinuedreplaced by: flutter_p2p_engine
outdated

Swarm Cloud Flutter SDK.

example/lib/main.dart

import 'package:swarm_cloud/swarm_cloud.dart';
import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';
import 'package:video_player_web_hls_swarm_cloud/hls.dart';
import 'package:video_player_web_hls_swarm_cloud/swarm_cloud_video_player_hls.dart';

void main() {
  runApp(VideoApp());
}

class VideoApp extends StatefulWidget {
  const VideoApp({Key? key}) : super(key: key);

  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  VideoPlayerController _controller = VideoPlayerController.network('');

  @override
  void initState() {
    super.initState();
    init();
  }

  init() async {
    try {
      SwarmCloud.init(
        'free',
        config: P2pConfig(
          logLevel: P2pLogLevel.debug,
        ),
      );
      var url = await SwarmCloud.parseStreamURL(
        'https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8',
      );
      _controller = VideoPlayerController.network(url!)
        ..initialize().then((_) {
          setState(() {});
        });
      _controller.setVolume(0.0);
    } catch (e) {
      print(e);
    }
    print('Swarm Cloud Version: $engineVersion');
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.isInitialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _controller.value.isPlaying
                  ? _controller.pause()
                  : _controller.play();
            });
          },
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }
}
0
likes
0
points
8
downloads

Publisher

unverified uploader

Weekly Downloads

Swarm Cloud Flutter SDK.

License

unknown (license)

Dependencies

flutter, swarm_cloud_platform_interface, swarm_cloud_web

More

Packages that depend on swarm_cloud

Packages that implement swarm_cloud