public void ReadStream(Stream stream) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); string name = null; int slot = SunVoxUtils.OpenUnusedSlot(); int result = SunVox.sv_load_from_memory(slot, bytes, bytes.Length); if (result == 0) { name = System.Runtime.InteropServices.Marshal.PtrToStringAuto(SunVox.sv_get_song_name(slot)); } SunVoxUtils.CloseSlot(slot); if (name != null) { name = name.Trim(); } if (name != null && name.Length > 32) { name = name.Substring(0, 32); } if (name == null || name == "") { name = "imported"; } data = new EmbeddedData(name, bytes, EmbeddedDataType.SunVox); }
private void onBinaryFileLoaded() { var music = SunVox.sv_load_from_memory(0, sunvox_song, sunvox_song_size); if (music >= 0) { log("Loaded."); } else { log("Load error."); } SunVox.sv_volume(0, 256); var songName = Marshal.PtrToStringAnsi(SunVox.sv_get_song_name(0)); log("song_name: " + songName); SunVox.sv_play_from_beginning(0); }