音楽ストレージを作成した後、プレーヤーが自分で曲を聴いたり、他の人とプレイリストを共有したりできるようにするのは論理的でした。別のネットワークがプレイリストの保存を担当します。曲は、デフォルトで、グローバル音楽リポジトリネットワークから取得されます。オプションで、必要なライブラリを使用してネットワークを昇格させることができます。
私の話を2つの部分に分けたいと思います。
1.内側からのプレーヤー(musiphone、 museria-player)
内部には、プレーヤーはそこに保存できるプレイリストに関する情報のリポジトリです。プレイリストは、コンテンツから独自のハッシュを持つ曲のタイトルのリストであり、これにより、将来このプレイリストを取得できます。
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); } })();
情報は、ノードの空きディスク容量とデータの量に応じてネットワーク内を循環します。ネットワーク上に十分なスペースがあるよりも多くのプレイリストがある場合、スペースを解放するために、最もまれに使用されるプレイリストが削除されます。ネットワークが機能するために必要なサーバーの数はそれほど多くないため、これは良いことですが、サーバーの数が少ないほど、プレイリストへのリンクの関連性の保証が少なくなります。
システムはデータの永続的な保存を保証しないことに注意する必要があります。したがって、信頼性を高めるために、すべてをファイルに保存することもできます。これについては、第2部で詳しく説明します。
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". , , . , , .
英語の電報のグループ、またはすぐに個人的な「軌道」で私に手紙を書く