Skip to content

An Universal Windows apps (UWP) Device Client Library for various common AllJoyn devices

License

Notifications You must be signed in to change notification settings

xiaooquanwu/AllJoynClientLib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AllJoynClientLib

An Universal Windows apps (UWP) Device Client Library for various common AllJoyn devices

Supported AllJoyn devices:

Sample App

The Sample app shows a simple dashboard of all devices. It also provides you with ViewModels for quick reuse in your own applications. Lastly it also shows how to create a custom device client plugin.

Install the Sample App From the store: https://www.microsoft.com/store/apps/9nblggh4wtcv

Usage:

Install nuget package:

PM> Install-Package dotMorten.AllJoyn.AllJoynClientLib

Sample code:

    //Initialize the device manager
    var manager = new AllJoynClientLib.DeviceManager();
    manager.DeviceJoined += Manager_DeviceJoined; //Listen for devices discovered
    manager.Start();
    
    // ...

    private async void Manager_DeviceJoined(object sender, DeviceClient device)
    {
      if(device is LightClient)
      { //We found a light
        var client = (LightClient)device;
        await client.SetOnOffAsync(true);         //turn on light
        if(await GetIsColorSupportedAsync())      //check the capability of light
          await client.SetColorAsync(Colors.Red); //Set the color of the light
      }
      else if (device is AllPlayClient)
      { //We found a media player
        var client = (AllPlayClient)device;
        await client.MediaPlayer.NextAsync();                   //Play next track
        var list = await client.MediaPlayer.GetPlaylistAsync(); //Get the current playlist
        await client.Volume.SetVolumeAsync(50);                 //Set volume
        client.MediaPlayer.PlayStateChanged += OnPlayStateChanged;
      }
    }

    private void OnPlayStateChanged(object sender, AllPlay.PlayState e)
    {
        //Media play state changed (start/stop/buffering/transitioning etc)
        string currentSong = e.CurrentMedia.Title;
    }

See the test app for more examples

Sample App Screenshots

image image image

About

An Universal Windows apps (UWP) Device Client Library for various common AllJoyn devices

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.8%
  • Batchfile 0.2%