public void PlayMusic(string filename, bool repeat = false, byte volume = Byte.MaxValue) { // var path = $"Assets/StreamingAssets/Tracker/{filename}"; var path = GetDataPath("Tracker/" + filename); Logger.Log($"Loading track {filename} from {path}", Category.SunVox); int loadResult = SunVox.sv_load((int)Slot.Music, path); if (loadResult == 0) { SunVox.sv_stop((int)Slot.Music); SunVox.sv_set_autostop((int)Slot.Music, repeat ? 0 : 1); SunVox.sv_volume((int)Slot.Music, volume); SunVox.sv_play_from_beginning((int)Slot.Music); } else { Logger.LogWarning($"Music load error: {path}", Category.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); }
private void Start() { log("-Press Space for toggle music-\n"); try { int ver = SunVox.sv_init("0", 44100, 2, 0); if (ver >= 0) { int major = (ver >> 16) & 255; int minor1 = (ver >> 8) & 255; int minor2 = (ver) & 255; log(String.Format("SunVox lib version: {0}.{1}.{2}", major, minor1, minor2)); SunVox.sv_open_slot(0); log("Loading SunVox song from file..."); var path = "Assets/StreamingAssets/test.sunvox"; // This path is correct only for standalone if (SunVox.sv_load(0, path) == 0) { log("Loaded."); } else { log("Load error."); SunVox.sv_volume(0, 256); } SunVox.sv_play_from_beginning(0); } else { log("sv_init() error " + ver); } } catch (Exception e) { log("Exception: " + e); } }
private void UpdateSunVoxVolume() { SunVox.sv_volume(slot, (int)(currentVolume * 256.0f)); }