This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
string forwardsWavFilePath = @"C:\ForwardsWavFile.wav"; | |
byte[] forwardsWavFileStreamByteArray = PopulateForwardsWavFileByteArray(forwardsWavFilePath); | |
private static byte[] PopulateForwardsWavFileByteArray(string forwardsWavFilePath) | |
{ | |
byte[] forwardsWavFileStreamByteArray; | |
using (FileStream forwardsWavFileStream = new FileStream(forwardsWavFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)) | |
{ | |
forwardsWavFileStreamByteArray = new byte[forwardsWavFileStream.Length]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
byte[] forwardsArrayWithOnlyHeaders = CreateForwardsArrayWithOnlyHeaders(forwardsWavFileStreamByteArray, Constants.StartIndexOfAudioDataChunk); | |
private static byte[] CreateForwardsArrayWithOnlyHeaders(byte[] forwardsWavFileStreamByteArray, int startIndexOfDataChunk) | |
{ | |
byte[] forwardsArrayWithOnlyHeaders = new byte[startIndexOfDataChunk]; | |
Array.Copy(forwardsWavFileStreamByteArray, 0, forwardsArrayWithOnlyHeaders, 0, startIndexOfDataChunk); | |
return forwardsArrayWithOnlyHeaders; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
byte[] reversedArrayWithOnlyAudioData = ReverseTheForwardsArrayWithOnlyAudioData(bytesPerSample, forwardsArrayWithOnlyAudioData); | |
private static byte[] ReverseTheForwardsArrayWithOnlyAudioData(int bytesPerSample, byte[] forwardsArrayWithOnlyAudioData) | |
{ | |
int length = forwardsArrayWithOnlyAudioData.Length; | |
byte[] reversedArrayWithOnlyAudioData = new byte[length]; | |
int sampleIdentifier = 0; | |
for (int i = 0; i < length; i++) | |
{ | |
if (i != 0 && i % bytesPerSample == 0) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
byte[] reversedWavFileStreamByteArray = CombineArrays(forwardsArrayWithOnlyHeaders, reversedArrayWithOnlyAudioData); | |
private static byte[] CombineArrays(byte[] forwardsArrayWithOnlyHeaders, byte[] reversedArrayWithOnlyAudioData) | |
{ | |
byte[] reversedWavFileStreamByteArray = new byte[forwardsArrayWithOnlyHeaders.Length + reversedArrayWithOnlyAudioData.Length]; | |
Array.Copy(forwardsArrayWithOnlyHeaders, reversedWavFileStreamByteArray, forwardsArrayWithOnlyHeaders.Length); | |
Array.Copy(reversedArrayWithOnlyAudioData, 0, reversedWavFileStreamByteArray, forwardsArrayWithOnlyHeaders.Length, reversedArrayWithOnlyAudioData.Length); | |
return reversedWavFileStreamByteArray; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
string reversedWavFilePath = @"C:\ReversedWavFile.wav"; | |
WriteReversedWavFileByteArrayToFile(reversedWavFileStreamByteArray, reversedWavFilePath); | |
private static void WriteReversedWavFileByteArrayToFile(byte[] reversedWavFileStreamByteArray, string reversedWavFilePath) | |
{ | |
using (FileStream reversedFileStream = new FileStream(reversedWavFilePath, FileMode.Create, FileAccess.Write, FileShare.Write)) | |
{ | |
reversedFileStream.Write(reversedWavFileStreamByteArray, 0, reversedWavFileStreamByteArray.Length); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Reflection; | |
namespace ConsoleApp9 | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
checked | |
{ | |
byte b = byte.MaxValue; //255 | |
b += 1; //OverflowException here | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
checked | |
{ | |
addSomeBytes(); | |
} | |
} | |
static void addSomeBytes() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IL_0000: nop | |
IL_0001: ldc.i4 255 | |
IL_0006: stloc.0 | |
IL_0007: ldloc.0 | |
IL_0008: ldc.i4.1 | |
IL_0009: add | |
IL_000a: conv.u1 | |
IL_000b: stloc.0 | |
IL_000c: ret |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IL_0000: nop | |
IL_0001: nop | |
IL_0002: ldc.i4 255 | |
IL_0007: stloc.0 | |
IL_0008: ldloc.0 | |
IL_0009: ldc.i4.1 | |
IL_000a: add.ovf | |
IL_000b: conv.ovf.u1 | |
IL_000c: stloc.0 | |
IL_000d: nop |
OlderNewer