https://github.com/derhuerst/fasp-client
Control Friendly Audio Streaming Protocol (FASP) receivers in the local network.
https://github.com/derhuerst/fasp-client
audio fasp streaming
Last synced: 8 months ago
JSON representation
Control Friendly Audio Streaming Protocol (FASP) receivers in the local network.
- Host: GitHub
- URL: https://github.com/derhuerst/fasp-client
- Owner: derhuerst
- License: isc
- Created: 2018-04-06T22:45:09.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-09-13T14:18:26.000Z (almost 5 years ago)
- Last Synced: 2025-02-06T06:35:45.031Z (over 1 year ago)
- Topics: audio, fasp, streaming
- Language: JavaScript
- Homepage: https://github.com/derhuerst/fasp-client#fasp-client
- Size: 20.5 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# fasp-client
**Control [Friendly Audio Streaming Protocol](https://github.com/derhuerst/friendly-audio-streaming-protocol) receivers in the local network.**
Use [`fasp-client-cli`](https://github.com/derhuerst/fasp-client-cli) if you want to control receivers from the command line.
[](https://www.npmjs.com/package/fasp-client)

[](https://github.com/sponsors/derhuerst)
[](https://twitter.com/derhuerst)
## Installing
```shell
npm install fasp-client
```
## Usage
You need to have a [`fasp-receiver`](https://github.com/derhuerst/fasp-receiver)-compatible server (e.g. [`fasp-server`](https://github.com/derhuerst/fasp-server)) running somewhere.
```js
const createClient = require('fasp-client')
const receiverUrl = 'ws://localhost:60123/'
const client = createClient(receiverUrl, (status) => {
console.log(status.title || status.filename, status.progress)
})
client.play('http://example.org/path/to/audio.ogg')
```
Using the code above, you will only be able to let the receiver play files from a *remote* location. **If you want to play *local* files**, you need to serve them via HTTP and tell the receiver to fetch them from you. There is **a straightforward helper for this**:
```js
const withLocalFiles = require('fasp-client/with-local-files')
withLocalFiles(client)
```
You can now pass file paths to `client.play` and `client.queue`. An HTTP server will be started on a random port, serving only these files.
## Contributing
If you have a question or have difficulties using `fasp-client`, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, refer to [the issues page](https://github.com/derhuerst/fasp-client/issues).