Skip to content

succlz123/DLNA-Dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DLNA-Dart

A simple DLNA DMC library implemented by Dart.
It is tiny and only the basic network video casting function is supported.

Structure

structure

Flutter Demo

Flutter-DLNA

Usage

Android Manifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />

Pub

https://pub.dev/packages/dlna

Import

import 'package:dlna/dlna.dart';

Start search

var dlnaManager = DLNAManager();
dlnaManager.setRefresher(DeviceRefresher(onDeviceAdd: (dlnaDevice) {
    print('add ' + dlnaDevice.toString());
}, onDeviceRemove: (dlnaDevice) {
    print('remove ' + dlnaDevice.toString());
}, onDeviceUpdate: (dlnaDevice) {
    print('update ' + dlnaDevice.toString());
}, onSearchError: (error) {
    print(error);
}));
dlnaManager.startSearch();

Stop search

dlnaManager.stopSearch();

Send the video url to the device

var videoObject = VideoObject(title, url, VideoObject.VIDEO_MP4);
await dlnaManager.actSetVideoUrl(videoObject);

Release server

dlnaManager.release();

Search Cache

For the quick search, when the device is found, it is saved locally.

dlnaManager.enableCache();
var localDevices = dlnaManager.getLocalDevices();