
Après avoir créé un stockage de musique, il était logique de créer un lecteur pour écouter les chansons vous-même et partager des listes de lecture avec d'autres. Un réseau distinct est responsable du stockage des listes de lecture . Les chansons sont, par défaut, extraites du réseau mondial de référentiels musicaux . En option, vous pouvez élever vos réseaux à l'aide des bibliothèques requises.
Je voudrais diviser mon histoire en deux parties:
1. Joueur de l'intérieur ( musiphone , museria-player )
À l'intérieur, le lecteur est un référentiel d'informations sur les listes de lecture qui peuvent y être enregistrées. Une liste de lecture est une liste de titres de chansons qui a son propre hachage unique à partir du contenu, grâce à laquelle cette liste de lecture peut être obtenue à l'avenir.
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); } })();
Les informations circulent dans le réseau en fonction de l'espace disque disponible sur les nœuds et de la quantité de données. S'il y a plus de listes de lecture qu'il n'y a assez d'espace sur le réseau, alors les plus rarement utilisées d'entre elles seront supprimées pour libérer de l'espace. D'une part, c'est bien, car peu de serveurs peuvent être nécessaires pour que le réseau fonctionne, mais d'autre part, moins il y en a, moins il y a de garantie de la pertinence des liens vers les playlists.
Il faut garder à l'esprit que le système ne garantit pas le stockage permanent des données.Par conséquent, pour une plus grande fiabilité, vous pouvez également tout enregistrer dans des fichiers. Cela sera discuté plus en détail dans la deuxième partie.
metastocle. . .
2. (, android )
( , ). , cordova, .
, .
.

"NEW PLAYLIST". , . , , . , , "MUSIC STORAGE" , , .
, . "Onycs — Eden"

, , . .

. , , ... , - , localStorage.
. "SAVE TO WEB".

.

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

, , .
. "SAVE TO FILE". m3u .
, "LOAD PlAYLIST".

. , . :
. : http://player.museria.com:80/musiphone/3deeb6052c5a46c05d6bec2cab5bade9 , , . , - , — . - , localStorage. , , - , , : player.museria.com
. , m3u / . . 10 , , . , , : http://player.museria.com:80/musiphone/external:someUrlHash
, m3u . m3u , . .
, localStorage. (json), "SAVE CONFIG", "LOAD CONFIG". , , . , , .
Un groupe en télégramme en anglais , ou écrivez-moi immédiatement dans un "ortex" personnel