Forum Discussion

DjGrego's avatar
DjGrego
Copper Contributor
Jun 20, 2023

Suggestions on a music player app

Could someone please suggest how to start a app that plays music locally on a windows machine running a playlist but can be controlled on the LAN using a Blazor screen ?

 

I'm not yet concerned with the Blazor app hearing audio, just controlling the player. Able to to see what is playing, hit play, edit the playlist etc.

 

I'm guessing the player could be a console app with a SQLite database for the playlist, then the Blazor app would connect to the same database and make changes? Would this be Blazor Wasm ? Would a separate console player be best?

 

Any suggestions appreciated.

  • Ronald_Higgins's avatar
    Ronald_Higgins
    Copper Contributor

    DjGrego 

    To create an app that plays music locally on a Windows machine and can be controlled on the LAN using a Blazor screen, you can follow these steps:

    Choose a programming language: Since you mentioned a console app, you can use a language like C# with .NET to develop the player. Blazor is also built with C# and .NET, so it's a good choice for developing the controlling interface.

    Design the architecture: You can create a separate console app that acts as the music player, using a library like NAudio to handle audio playback. You can store the playlist information in a SQLite database, as you suggested. The console app can monitor the database for changes and update the playlist accordingly.

    Implement the music player: Write the console app that handles the music playback functionality. It should have the ability to play, pause, stop, skip tracks, and manage the playlist based on the SQLite database. You can use NAudio to load and play the audio files.

    Create the Blazor app: Develop a Blazor WebAssembly (Wasm) application to act as the control interface. Blazor allows you to write interactive web applications using C# instead of JavaScript. You can use SignalR, a real-time web communication library, to establish a connection between the Blazor app and the music player console app.

    Connect to the SQLite database: In the Blazor app, connect to the same SQLite database used by the music player. Use a library like Entity Framework Core to query and manipulate the playlist data.

    Implement control functions: In the Blazor app, create controls for play, pause, stop, skip, and edit playlist functionality. These controls will interact with the database to update the playlist, and the changes will be reflected in the music player console app through the SignalR connection.

    Display current playing information: The Blazor app can retrieve the current playing track information from the music player console app through the SignalR connection and display it on the screen.

    By following these steps, you can create an app that plays music locally on a Windows machine and can be controlled using a Blazor interface on the LAN. Remember to handle security considerations, such as authentication and authorization, based on your specific requirements. If you have little experience in development you can seek help from experts in software development 

Resources