oxygengine_audio/audio_asset_protocol.rs
1use crate::core::assets::protocol::{AssetLoadResult, AssetProtocol};
2
3pub struct AudioAsset(Vec<u8>);
4
5impl AudioAsset {
6 pub fn bytes(&self) -> &[u8] {
7 &self.0
8 }
9}
10
11pub struct AudioAssetProtocol;
12
13impl AssetProtocol for AudioAssetProtocol {
14 fn name(&self) -> &str {
15 "audio"
16 }
17
18 fn on_load(&mut self, data: Vec<u8>) -> AssetLoadResult {
19 AssetLoadResult::Data(Box::new(AudioAsset(data)))
20 }
21}