Musiphone - Reproductor de música descentralizado







Después de crear un almacenamiento de música, era lógico crear un reproductor para escuchar canciones usted mismo y compartir listas de reproducción con otros. Una red separada es responsable de almacenar listas de reproducción . Las canciones se toman, de forma predeterminada, de la red global de repositorios de música . Opcionalmente, puede elevar sus redes utilizando las bibliotecas necesarias.







Me gustaría dividir mi historia en dos partes:







1. Jugador desde adentro ( musiphone , museria-player )







En su interior, el reproductor es un depósito de información sobre listas de reproducción que se pueden guardar allí. Una lista de reproducción es una lista de títulos de canciones que tiene su propio hash exclusivo del contenido, mediante el cual esta lista de reproducción se puede obtener en el futuro.







const Node = require('musiphone').Node;

(async () => { 
  try {
    const node = new Node({
      port: 4000,
      hostname: 'localhost',
      musicStorageAddress: 'storage.museria.com:80'
    });
    await node.init();
  }

  catch(err) {
    console.error(err.stack);
    process.exit(1);
  }
})();
      
      





const Client = require('musiphone').Client;

(async () => {
  try {
    const client = new Client({
      address: 'localhost:4000'
    });
    await client.init();
    const title = 'Playlist title';
    const songs = [
      'Onycs - Eden',
      'Onycs - Shine',
      'Onycs - Timeless' 
    ];
    // Add the playlist
    const response = await client.addPlaylist(title, songs);
    // Get the playlist
    const playlist = await client.getPlaylist(response.hash);
  }
  catch(err) {
    console.error(err.stack);
    process.exit(1);
  }
})();
      
      





La información circula en la red según el espacio libre en disco de los nodos y la cantidad de datos. Si hay más listas de reproducción que espacio suficiente en la red, se eliminarán las que se utilicen con menos frecuencia para liberar espacio. Por un lado, esto es bueno, porque puede que no se necesiten muchos servidores para que la red funcione, pero por otro lado, cuantos menos haya, menor será la garantía de la relevancia de los enlaces a las listas de reproducción.







Hay que tener en cuenta que el sistema no garantiza el almacenamiento permanente de datos, por lo tanto, para una mayor confiabilidad, también puede guardar todo en archivos. Esto se discutirá con más detalle en la segunda parte.







metastocle. . .







2. (, android )







( , ). , cordova, .







, .







.













"NEW PLAYLIST". , . , , . , , "MUSIC STORAGE" , , .







, . "Onycs — Eden"













, , . .













. , , ... , - , localStorage. 







. "SAVE TO WEB".













.













, , /. , , , , . , .







, , . , , . . "NEW PLAYLIST". :













, , .













. "SAVE TO FILE". m3u .













, "LOAD PlAYLIST".













. , . :









, m3u .  m3u , . .













, localStorage. (json), "SAVE CONFIG", "LOAD CONFIG". , , . , , .







, 50-1000, 2 , 2 . , .







: 300 , 1 , 1 . — .







Un grupo en telegrama en inglés , o inmediatamente escríbeme en un "ortex" personal








All Articles