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); }
public void OnDestroy() { if (slot >= 0) { SunVoxUtils.CloseSlot(slot); } }
public void Stop() { SunVoxUtils.CloseSlot(slot); }