示例#1
0
 public override uint PlaySound(IntPtr id, uint channelId, bool paused, float volume, float pan)
 {
     if (id == IntPtr.Zero)
     {
         return(0);
     }
     return(Soloud.Soloud_playEx(_device, id, volume, pan, paused, 0));
 }
示例#2
0
 public override uint PlaySound(IntPtr id, uint channelId, bool paused)
 {
     if (id == IntPtr.Zero)
     {
         return(0);
     }
     return(Soloud.Soloud_playEx(_device, id, 1.0f, 0.0f, paused, 0));
 }
示例#3
0
 public override void Deinit()
 {
     if (_device != IntPtr.Zero)
     {
         Soloud.Soloud_stopAll(_device);
         Soloud.Soloud_deinit(_device);
         _device = IntPtr.Zero;
     }
 }
示例#4
0
        public override IntPtr LoadSound(string filename, bool looping)
        {
            IntPtr id = Soloud.Wav_create();

            Soloud.Wav_load(id, filename);
            Soloud.Wav_setLooping(id, looping);
            if (id == IntPtr.Zero)
            {
                throw new Exception("Sound file not loaded: " + filename);
            }
            return(id);
        }
示例#5
0
 public override bool GetChannelPaused(uint channelId)
 {
     return(Soloud.Soloud_getPause(_device, channelId));
 }
示例#6
0
 public override void SetChannelPan(uint channelId, float pan)
 {
     Soloud.Soloud_setPan(_device, channelId, pan);
 }
示例#7
0
 public override float GetChannelPan(uint channelId)
 {
     return(Soloud.Soloud_getPan(_device, channelId));
 }
示例#8
0
 public override void SetChannelFrequency(uint channelId, float frequency)
 {
     Soloud.Soloud_setSamplerate(_device, channelId, frequency);
 }
示例#9
0
 public override float GetChannelFrequency(uint channelId)
 {
     return(Soloud.Soloud_getSamplerate(_device, channelId));
 }
示例#10
0
 public override void Init()
 {
     _device = Soloud.Soloud_create();
     Soloud.Soloud_init(_device);
 }
示例#11
0
 public override void SetChannelVolume(uint channelId, float volume)
 {
     Soloud.Soloud_setVolume(_device, channelId, volume);
 }
示例#12
0
 public override float GetChannelVolume(uint channelId)
 {
     return(Soloud.Soloud_getVolume(_device, channelId));
 }
示例#13
0
 public override void StopChannel(uint channelId)
 {
     Soloud.Soloud_stop(_device, channelId);
 }
示例#14
0
 public override bool ChannelIsPlaying(uint channelId)
 {
     return(Soloud.Soloud_isValidVoiceHandle(_device, channelId) && !Soloud.Soloud_getPause(_device, channelId));
 }
示例#15
0
 public override void SetChannelPaused(uint channelId, bool pause)
 {
     Soloud.Soloud_setPause(_device, channelId, pause);
 }