Официальный форум СВД Встраиваемые Системы
03 Декабря, 2016, 18:42:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: как правильно изменить громкость воспроизведения Audio2  (Прочитано 943 раз)
Дмитрий
Пользователь

Сообщений: 46


« : 18 Декабря, 2012, 14:00:36 »

Здравствуйте!
Подскажите, пожалуйста, по драйверу звука Audio2.
Как программно изменить громкость воспроизведения звука?
в файле a2_audio.h определен ioctl для /dev/mixer*
Код:
#define SOUND_MIXER_WRITE_VOLUME

в программе я пишу
Код:
int volume = 100;
char *dev ="/dev/mixer";
int mix;


mix = open (dev, 0 );
 
if ( ioctl ( mix, SOUND_MIXER_WRITE_VOLUME, &volume) == -1 ) fprintf (stderr, "Can't set volume: %s\n", sterror (errno ) );
громкость меняется на Volume 0,100
как сделать, что бы громкость менялась сразу на двух каналах (левый и правый)?

версия QNX -- 4.25
« Последнее редактирование: 18 Декабря, 2012, 15:26:37 от Дмитрий » Записан
Олег Большаков
Администратор
Житель форума

Сообщений: 2931



WWW
« Ответ #1 : 18 Декабря, 2012, 16:49:45 »

Здравствуйте, Дмитрий!

Согласно спецификации OSS, надо определить, является ли данный канал стереоканалом. Если это так (а в случае с AC'97 это должно быть так), следует устанавливать звук сразу для двух каналов, например, следующим образом (это только пример):

Код:
int volume = 100 | (100 << 8);

ioctl ( mix, SOUND_MIXER_WRITE_VOLUME, &volume)
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 15 Ноября, 2016, 23:19:27