Crates.io | adlib |
lib.rs | adlib |
version | 0.1.1 |
source | src |
created_at | 2021-04-15 09:17:35.17129 |
updated_at | 2021-04-17 09:05:57.658082 |
description | Rust library for playing music asynchronously |
homepage | |
repository | https://github.com/GeoffClements/adlib |
max_upload_size | |
id | 384715 |
size | 6,151 |
Rust library for playing music asynchronously.
Currently a WIP.
The plan is to allow the composition of asynchronous Streams that propegate audio data to an ultimate sink object that will implement cpal.
Pipes (i.e. a chain of Streams) can be created through composition such as the following example:
let sink = Sink::from(<cpal object>);
let pipe = Source(<uri>)
.buffer(<size>)
.decoder()
.gain(<gain control>)
.volume(<volume control>);
sink.send_all(pipe);
In the above case we should be able to specify any valid uri for the source object, thus both files and TCP streams should be possible.
New objects that implement Stream can be added to the library that monitor and/or alter the audio data.
If you'd like to help then please contact me. I have limited time for coding and progress may be slow as a consequence.