Upload tbd

This commit is contained in:
2026-05-10 15:26:31 +00:00
parent 13324428d5
commit 1e36c9e02c
4 changed files with 96 additions and 0 deletions

61
LocalRadioPlayer.js Normal file
View File

@@ -0,0 +1,61 @@
const EventEmitter = require('events');
class LocalRadioPlayer extends EventEmitter {
constructor() {
super();
this._stations = {
'Rock': 'http://localhost:8000/rock',
'Pop': 'http://localhost:8000/pop',
'Jazz': 'http://localhost:8000/jazz',
'Classical': 'http://localhost:8000/classical',
'Electronic': 'http://localhost:8000/electronic',
'Hip-Hop': 'http://localhost:8000/hiphop'
};
this._audio = null;
}
getStations(options) {
return Promise.resolve(Object.keys(this._stations).map(genre => ({
name: genre,
id: genre
})));
}
play(stationData) {
if (this._audio) {
this._audio.pause();
}
const streamUrl = this._stations[stationData.id];
if (!streamUrl) {
this.emit('error', new Error(`Station ${stationData.id} not found.`));
return;
}
this._audio = new Audio(streamUrl);
this._audio.play()
.then(() => {
this.emit('song-data', {
title: `Streaming ${stationData.id}`,
artist: 'Local Radio',
albumArt: ''
});
})
.catch(err => {
this.emit('error', err);
});
}
stop() {
if (this._audio) {
this._audio.pause();
this._audio = null;
}
}
resizeArtwork(options) {
// Not applicable for local streaming without metadata
return Promise.resolve('');
}
}
module.exports = LocalRadioPlayer;

11
index.js Normal file
View File

@@ -0,0 +1,11 @@
const LocalRadioPlayer = require('./LocalRadioPlayer');
/**
* @returns {RadioPlayer}
*
* i tried to make the radio work as well, coldnt get it to work :(
*/
module.exports = function createRadio() {
return new LocalRadioPlayer();
};

20
package.json Normal file
View File

@@ -0,0 +1,20 @@
{
"name": "jibo-tbd",
"version": "3.3.0 InDev",
"description": "Jibo full-stack release version",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git@github.jibo.com:rm/jibo-version.git"
},
"keywords": [
"full-stack",
"release",
"version"
],
"author": "JiboRevivalGroup",
"license": "ISC"
}

4
release_notes.json Normal file
View File

@@ -0,0 +1,4 @@
{
"spoken": "Last dance. Last chance, for love.",
"enableProactive": true
}