| Crates.io | ogg-opus |
| lib.rs | ogg-opus |
| version | 0.1.2 |
| created_at | 2021-05-18 14:59:21.197236+00 |
| updated_at | 2021-05-18 18:42:58.847196+00 |
| description | A decoder/encoder for Ogg Opus |
| homepage | |
| repository | https://github.com/sheosi/ogg-opus |
| max_upload_size | |
| id | 399013 |
| size | 22,519 |
A decoder/encoder for Ogg Opus in Rust
Add to your cargo.toml
ogg-opus = "^0.1"
Since we use const generics, the minimum version of Rust is 1.51
This example makes use of wav crate, you can use it adding to your cargo.toml file:
wav = "^1.0"
let mut f = File::open("my_file.wav").unwrap();
let (_, b) = wav::read(&mut f).unwrap();
let audio = b.try_into_sixteen().unwrap();
let opus = ogg_opus::encode::<16000, 1>(&audio).unwrap();
let mut f = File::open("my_file.ogg").unwrap();
let (raw, header) = ogg_opus::decode::<_,16000>(f).unwrap();
use std::io::Cursor;
// Let's say this vec contains Ogg Opus data
let opus: Vec<u8> = Vec::new();
let (raw, header) = ogg_opus::decode::<_,16000>(Cursor::new(opus)).unwrap();
i16 (integer of 16 bits) for the raw part.