(MSDN의 Streaming Data from a WAV File에 설명 된대로) 바이트 배열로 스트리밍 할 수 있습니다.
기본적으로 LoadContent()
함수에서 TitleContainer.OpenStream(@"soundfile.wav")
을 사용하여 System.IO.Stream
개체를 만듭니다. 그런 다음 BinaryReader
에 new BinaryReader(wavStream)
으로 표시합니다.
헤더 읽기 :
int chunkID = reader.ReadInt32();
int fileSize = reader.ReadInt32();
int riffType = reader.ReadInt32();
int fmtID = reader.ReadInt32();
int fmtSize = reader.ReadInt32();
int fmtCode = reader.ReadInt16();
int channels = reader.ReadInt16();
int sampleRate = reader.ReadInt32();
int fmtAvgBPS = reader.ReadInt32();
int fmtBlockAlign = reader.ReadInt16();
int bitDepth = reader.ReadInt16();
if (fmtSize == 18)
{
// Read any extra values
int fmtExtraSize = reader.ReadInt16();
reader.ReadBytes(fmtExtraSize);
}
int dataID = reader.ReadInt32();
int dataSize = reader.ReadInt32();
실제 사운드 데이터 읽기 : 그런 다음
byteArray = reader.ReadBytes(dataSize);
DynamicSoundEffect
객체를 설정하는 복잡한 코드의 전체 무리는
(위의 링크에서 설명)
그러면 dynamicSound.Play()
과 dynamicSound.Stop()
을 사용하여 사운드를 재생하고 멈출 수 있습니다!
면책 조항 : 나는 사운드를 재생이 방법을 테스트하지 않은,하지만이
그게 전부입니다! 정말 고마워! – BalinKingOfMoria