{"id":15592119,"url":"https://github.com/derhuerst/mplayer-wrapper","last_synced_at":"2025-04-15T05:29:32.948Z","repository":{"id":57303563,"uuid":"128404111","full_name":"derhuerst/mplayer-wrapper","owner":"derhuerst","description":"Let an mplayer instance play media.","archived":false,"fork":false,"pushed_at":"2022-11-17T14:03:57.000Z","size":159,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T03:08:48.086Z","etag":null,"topics":["audio","headless","media","mplayer","player"],"latest_commit_sha":null,"homepage":"https://github.com/derhuerst/mplayer-wrapper#mplayer-wrapper","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-06T14:17:07.000Z","updated_at":"2023-06-29T04:59:56.000Z","dependencies_parsed_at":"2022-08-24T17:11:31.264Z","dependency_job_id":null,"html_url":"https://github.com/derhuerst/mplayer-wrapper","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Fmplayer-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Fmplayer-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Fmplayer-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derhuerst%2Fmplayer-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/derhuerst","download_url":"https://codeload.github.com/derhuerst/mplayer-wrapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249013796,"owners_count":21198460,"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","headless","media","mplayer","player"],"created_at":"2024-10-02T23:55:08.289Z","updated_at":"2025-04-15T05:29:32.930Z","avatar_url":"https://github.com/derhuerst.png","language":"JavaScript","funding_links":["https://github.com/sponsors/derhuerst"],"categories":[],"sub_categories":[],"readme":"# mplayer-wrapper\n\n**Let an [`mplayer`](http://www.mplayerhq.hu/) instance play media.**\n\n*Note*: `mpv` is a fork of `mplayer` and much nicer to work with. You might want to use [`mpv-wrapper`](https://github.com/derhuerst/mpv-wrapper) instead.\n\n[![npm version](https://img.shields.io/npm/v/mplayer-wrapper.svg)](https://www.npmjs.com/package/mplayer-wrapper)\n[![build status](https://api.travis-ci.org/derhuerst/mplayer-wrapper.svg?branch=master)](https://travis-ci.org/derhuerst/mplayer-wrapper)\n![ISC-licensed](https://img.shields.io/github/license/derhuerst/mplayer-wrapper.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 mplayer-wrapper\n```\n\n\n## Usage\n\n```js\nconst createPlayer = require('mplayer-wrapper')\n\nconst player = createPlayer()\nplayer.queue('path/to/audio-1.mp3')\nplayer.queue('path/to/audio-2.ogg')\nplayer.queue('http://example.org/audio-3.ogg')\n\nplayer.on('time_pos', (val) =\u003e {\n\tconsole.log('track progress is', val)\n})\nsetInterval(() =\u003e {\n\tplayer.getProps(['time_pos'])\n}, 2 * 1000)\n\nplayer.on('metadata', console.log)\nplayer.on('track-change', () =\u003e player.getProps(['metadata']))\n```\n\n\n## API\n\n### Methods\n\n- `player.exec(command, args = [])`: Send a command to mplayer. See [the list](http://www.mplayerhq.hu/DOCS/tech/slave.txt).\n- `player.getProps(props)`: Request values for one or more props. Run `mplayer -list-properties` for a list.\n- `player.play(fileOrUrl)`: Discard the current queue, play this file.\n- `player.queue(fileOrUrl)`: Add this file to the queue.\n- `player.next()`: Jump to the next file in the queue.\n- `player.previous()`: Jump to the previous file in the queue.\n- `player.playPause()`: Toggle pause.\n- `player.seek(pos)`: Seek to a position in seconds. Prepend `+`/`-` for relative seeking.\n- `player.seekPercent(pos)`: Seek to a position in percent of the file. E.g. `30`.\n- `player.setVolume(amount)`: Set the volume. `0` is silent, `100` is maximum.\n- `player.stop`: Stop playing.\n- `player.close`: Stop playing, close the mplayer instance.\n\n### Events\n\n- `feed.on('prop', name, val)`: The value for a prop has been requested (e.g. using `getProps`), and we now know the value.\n- `feed.on(propName, val)`: A shorthand for the `prop` event.\n- `feed.on('track-change')`: A new track/file is playing now.\n\n\n## Known Issues\n\n- `mplayer` doesn't print metadata properly (e.g. Unicode, `,` and other special characters), therefore `mplayer-wrapper` doesn't expose it properly.\n\n\n## Related\n\n- [`mpv-wrapper`](https://github.com/derhuerst/mpv-wrapper) – Let an `mpv` instance play media.\n\n\n## Contributing\n\nIf you have a question or have difficulties using `mplayer-wrapper`, 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/mplayer-wrapper/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderhuerst%2Fmplayer-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderhuerst%2Fmplayer-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderhuerst%2Fmplayer-wrapper/lists"}