Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 6 days 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 (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-09-13T14:18:26.000Z (about 3 years ago)
- Last Synced: 2024-10-30T16:44:06.836Z (15 days 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.
[![npm version](https://img.shields.io/npm/v/fasp-client.svg)](https://www.npmjs.com/package/fasp-client)
![ISC-licensed](https://img.shields.io/github/license/derhuerst/fasp-client.svg)
[![support me via GitHub Sponsors](https://img.shields.io/badge/support%20me-donate-fa7664.svg)](https://github.com/sponsors/derhuerst)
[![chat with me on Twitter](https://img.shields.io/badge/chat%20with%20me-on%20Twitter-1da1f2.svg)](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).