allow static sound to be trimmed
							parent
							
								
									e0b85180e6
								
							
						
					
					
						commit
						2d5d70106f
					
				|  | @ -39,6 +39,7 @@ namespace MoonWorks.Audio | |||
|                 device, | ||||
|                 buffer, | ||||
|                 0, | ||||
|                 (uint) buffer.Length, | ||||
|                 (ushort) info.channels, | ||||
|                 info.sample_rate | ||||
|             ); | ||||
|  | @ -47,7 +48,8 @@ namespace MoonWorks.Audio | |||
|         public StaticSound( | ||||
|             AudioDevice device, | ||||
|             float[] buffer, | ||||
|             uint bufferOffset, | ||||
|             uint bufferOffset, /* in floats */ | ||||
|             uint bufferLength, /* in floats */ | ||||
|             ushort channels, | ||||
|             uint samplesPerSecond | ||||
|         ) : base(device) { | ||||
|  | @ -63,14 +65,13 @@ namespace MoonWorks.Audio | |||
|                 nAvgBytesPerSec = blockAlign * samplesPerSecond | ||||
|             }; | ||||
| 
 | ||||
|             var bufferLengthInBytes = sizeof(float) * buffer.Length; | ||||
| 
 | ||||
|             var bufferLengthInBytes = (int) (bufferLength * sizeof(float)); | ||||
|             Handle = new FAudio.FAudioBuffer(); | ||||
|             Handle.Flags = FAudio.FAUDIO_END_OF_STREAM; | ||||
|             Handle.pContext = IntPtr.Zero; | ||||
|             Handle.AudioBytes = (uint) bufferLengthInBytes; | ||||
|             Handle.pAudioData = Marshal.AllocHGlobal(bufferLengthInBytes); | ||||
|             Marshal.Copy(buffer, (int) bufferOffset, Handle.pAudioData, buffer.Length); | ||||
|             Marshal.Copy(buffer, (int) bufferOffset, Handle.pAudioData, (int) bufferLength); | ||||
|             Handle.PlayBegin = 0; | ||||
|             Handle.PlayLength = 0; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue