Объем разделен на 2. Младшее слово слева, а старшее слово справа .0xffff на канале соответствует 100% или «макс».50% - это 0x7fff и так далее.Помните, что он также редко бывает линейным, поэтому громкость 50% не означает громкость 50%.
РЕДАКТИРОВАТЬ
Чтобы пояснить немного, громкость делится надва канала.Я предполагаю, что вы хотите, чтобы на каждом из них был одинаковый объем.
Общая формула: [left value] | ([right value << 16])
Вот примеры:
Для 100% значение 0xFFFFна обоих каналах - то, что вы хотите.
Value = 0xFFFFFFFF == 0xFFFF | (0xFFFF << 16)
Для 50% значение 0x7FFF на обоих каналах (0xffff / 2) - это то, что вы хотите.
Value = 0x7FFF7FFF == 0x7FFF | (0x7FFF << 16)
Для 25% значение 0x3FFF на обоих каналах (0x7fff / 2) - это то, что вам нужно.
Value = 0x3FFF3FFF == 0x3FFF | (0x3FFF << 16)