{"id":15592009,"url":"https://github.com/derhuerst/fasp-client","last_synced_at":"2025-10-15T08:28:18.774Z","repository":{"id":47102263,"uuid":"128477415","full_name":"derhuerst/fasp-client","owner":"derhuerst","description":"Control Friendly Audio Streaming Protocol (FASP) receivers in the local network.","archived":false,"fork":false,"pushed_at":"2021-09-13T14:18:26.000Z","size":21,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-06T06:35:45.031Z","etag":null,"topics":["audio","fasp","streaming"],"latest_commit_sha":null,"homepage":"https://github.com/derhuerst/fasp-client#fasp-client","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/derhuerst.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-06T22:45:09.000Z","updated_at":"2021-09-13T14:18:30.000Z","dependencies_parsed_at":"2022-09-26T22:11:28.916Z","dependency_job_id":null,"html_url":"https://github.com/derhuerst/fasp-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Ffasp-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Ffasp-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Ffasp-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Ffasp-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/derhuerst","download_url":"https://codeload.github.com/derhuerst/fasp-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239221263,"owners_count":19602378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","fasp","streaming"],"created_at":"2024-10-02T23:52:43.613Z","updated_at":"2025-10-15T08:28:13.728Z","avatar_url":"https://github.com/derhuerst.png","language":"JavaScript","funding_links":["https://github.com/sponsors/derhuerst"],"categories":[],"sub_categories":[],"readme":"# fasp-client\n\n**Control [Friendly Audio Streaming Protocol](https://github.com/derhuerst/friendly-audio-streaming-protocol) receivers in the local network.**\n\nUse [`fasp-client-cli`](https://github.com/derhuerst/fasp-client-cli) if you want to control receivers from the command line.\n\n[![npm version](https://img.shields.io/npm/v/fasp-client.svg)](https://www.npmjs.com/package/fasp-client)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/fasp-client.svg)\n[![support me via GitHub Sponsors](https://img.shields.io/badge/support%20me-donate-fa7664.svg)](https://github.com/sponsors/derhuerst)\n[![chat with me on Twitter](https://img.shields.io/badge/chat%20with%20me-on%20Twitter-1da1f2.svg)](https://twitter.com/derhuerst)\n\n\n## Installing\n\n```shell\nnpm install fasp-client\n```\n\n\n## Usage\n\nYou 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.\n\n```js\nconst createClient = require('fasp-client')\n\nconst receiverUrl = 'ws://localhost:60123/'\nconst client = createClient(receiverUrl, (status) =\u003e {\n\tconsole.log(status.title || status.filename, status.progress)\n})\n\nclient.play('http://example.org/path/to/audio.ogg')\n```\n\nUsing 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**:\n\n```js\nconst withLocalFiles = require('fasp-client/with-local-files')\n\nwithLocalFiles(client)\n```\n\nYou 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.\n\n\n## Contributing\n\nIf 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).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderhuerst%2Ffasp-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderhuerst%2Ffasp-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderhuerst%2Ffasp-client/lists"}