Musiphone - reprodutor de música descentralizado







Depois de criar um armazenamento de música, era lógico fazer um player ouvir as músicas você mesmo e compartilhar listas de reprodução com outras pessoas. Uma rede separada é responsável por armazenar listas de reprodução . As músicas são, por padrão, retiradas da rede global de repositórios de música . Opcionalmente, você pode elevar suas redes usando as bibliotecas necessárias.







Eu gostaria de dividir minha história em duas partes:







1. Jogador de dentro ( musiphone , museria-player )







Dentro, o player é um repositório de informações sobre listas de reprodução que podem ser salvas lá. Uma lista de reprodução é uma lista de títulos de músicas que tem seu próprio hash exclusivo do conteúdo, pelo qual essa lista de reprodução pode ser obtida no 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);
  }
})();
      
      





A informação circula na rede dependendo do espaço livre em disco nos nós e da quantidade de dados. Se houver mais listas de reprodução do que espaço suficiente na rede, as mais raramente usadas serão excluídas para liberar espaço. Por um lado, isso é bom, porque podem não ser necessários muitos servidores para que a rede funcione, mas, por outro lado, quanto menos houver, menor será a garantia da relevância dos links para as listas de reprodução.







Deve-se ter em mente que o sistema não garante o armazenamento permanente dos dados, portanto, para maior confiabilidade, você também pode salvar tudo em arquivos. Isso será discutido com mais detalhes na 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 . — .







Um grupo em telegrama em inglês , ou escreva imediatamente para mim em um "ortex" pessoal








All Articles