В SDL, когда вы настраиваете свое устройство вывода звука, вы и SDL должны договориться о аудиоформате - например, стерео 16,1-битная 44,1 кГц со знаком с прямым порядком байтов.Все в порядке.Но наряду с окончательным согласованным форматом вы также получите вычисленное значение «тишины», которое не выглядит хорошо документированным.
Образец тихого звука, очевидно, состоит из одного и того же значения сэмпла, повторяемого снова и снова, и выхочу, чтобы это было на «нулевом» уровне.В каком-то смысле подойдет любое постоянное значение, но вы должны согласиться со значением (чтобы вы не получали всплывающих окон при переключении на другой звук), и в нормальном мире вы хотите выбрать значение взрыва в центре вашего семпла-value range.
Так что, если вам случится использовать неподписанный формат для диапазона значений семпла для 0 ... что угодно, ваше значение тишины будет (независимо от / 2).
РЕДАКТИРОВАТЬ - вставлено "без знака" ниже, чтобы избежать путаницы.
Это все хорошо.Но заданное вами значение молчания является 8-разрядным целым числом без знака.Это не очень хорошо работает, если вы хотите беззнаковые 16-битные сэмплы - для значения логического молчания 0x8000 требуется два разных байтовых значения и они должны быть в правильном порядке байтов.
Таким образом, вы получите значение молчанияиз SDL, кажется, не имеет особого смысла.Вы не можете использовать его, например, чтобы стереть свои буферы, не имея дело с дополнительными сложностями и делая выводы, которые в значительной степени делают бессмысленное значение предварительно рассчитанной тишины в любом случае.
Что, конечно, означает, что я неправильно понялточка.
Итак, если это не то, как предполагается использовать значение молчания, как должно его использовать?