MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Simple Music Player Module

    Scheduled Pinned Locked Moved Entertainment
    musicaudioplayer
    41 Posts 19 Posters 48.5k Views 21 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • brobergB Offline
      broberg Project Sponsor @lucallmon
      last edited by

      @lucallmon either you change the directory in the players .js file or you link the music folder to the thumbdrive

      1 Reply Last reply Reply Quote 0
      • D Offline
        dbaler
        last edited by

        If you have a nas / networked storage and want to use music files from there, how would you do that?

        brobergB 1 Reply Last reply Reply Quote 0
        • brobergB Offline
          broberg Project Sponsor @dbaler
          last edited by

          @dbaler My higly noobish answer is Samba, and mount a network folder.

          D 1 Reply Last reply Reply Quote 0
          • D Offline
            dbaler @broberg
            last edited by

            @broberg Just change the directory in which JS file?

            brobergB 1 Reply Last reply Reply Quote 0
            • brobergB Offline
              broberg Project Sponsor @dbaler
              last edited by

              @dbaler If you are not using the default Music folder you could actually mount your network folder directly in that folder. No need to alter anything in the js files

              Here is a easy to follow tutorial on how you mount a smb share in linux :
              https://www.howtogeek.com/176471/how-to-share-files-between-windows-and-linux/

              1 Reply Last reply Reply Quote 0
              • P Offline
                Preve @cowboysdude
                last edited by

                @cowboysdude Is that “show list” already available?

                1 Reply Last reply Reply Quote 0
                • aro28A Offline
                  aro28
                  last edited by aro28

                  Hi Eof,
                  Do you know why mm-music-player module is not loading even i added below code to config file? I downloaded and copied mm-music-player folder to MM’s Modules folder. Do i need to do something else?

                  {
                  module: ‘mm-music-player’,
                  position: ‘bottom_left’,
                  config: {
                  startingVolume: 20,
                  fadeDuriation: 2000
                  }
                  }

                  Thank you!

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    DrCastor
                    last edited by DrCastor

                    Hi aro28,

                    I had the same problem, so I decided to take a look at why this module couldn’t be loaded.

                    The issues is in the Node_Helper.js given, which is mistaken. The structure is wrong. It looks like a quick adaptation of a ctrl+C/ctrl+V made from index.js, found in the node_helper folder (MM core folders).

                    I’m actually tweeking it a bit. I’ll give you news when i get it worked nicely.
                    (In fact, it seems i can now load it, but since my speaker are broke, i cant be sure it reads files… I’ll change them tomorrow)

                    aro28A 1 Reply Last reply Reply Quote 0
                    • aro28A Offline
                      aro28 @DrCastor
                      last edited by

                      @DrCastor
                      Great! Thank you for reply. I hope you will succeed.

                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        DrCastor
                        last edited by yawns

                        Ok, found bad speakers, but at least, they allow me to test it. It works :). I’m a real noob, so some useless things may still be there. But at least, it will do the trick

                        Go to the node_helper.js file, and change it this way:

                        var Class = require("../../js/class.js");
                        var express = require("express");
                        var path = require("path");
                        
                        
                        module.exports = NodeHelper.create({
                        
                        	init: function() {
                        		console.log("Initializing mm-music-player module helper ...");
                        	},
                        
                        	start: function() {
                        		this.expressApp.get('/music', function (req, res) {
                        			var fs = require('fs');
                        			var path = require('path');
                        
                        			var files = [];
                        
                        			fs.readdir('modules/mm-music-player/music', (err, data) => {
                        				for(i = 0; i < data.length; i++){
                        					if(path.extname(data[i]) == ".mp3"){
                        						files.push(data[i]);
                        					}
                        				}
                        				
                        				res.send(files);
                        			});
                        		});
                        	},
                        
                        
                        
                        	/* setExpressApp(app)
                        	 * Sets the express app object for this module.
                        	 * This allows you to host files from the created webserver.
                        	 *
                        	 * argument app Express app - The Express app object.
                        	 */
                        	setExpressApp: function(app) {
                        		this.expressApp = app;
                        
                        		var publicPath = this.path + "/public";
                        		app.use("/" + this.name, express.static(publicPath));
                        	},
                        
                        });
                        

                        If luck is by your side, it will work ;)

                        aro28A 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 3 / 5
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy