Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2023, 19:48   #1
Raven!
 
Регистрация: 04.02.2020
Сообщений: 9
По умолчанию Изменение баланса и громкости

Добрый день. Помогите, пожалуйста, понять, почему не изменяется громкость и баланс, хотя все работает. У таймера Enable находиться в состоянии True. Ползунок у TrackBar я могу перемещать, но от этого громкость не меняется.

Код:
private void Form1_Load(object sender, EventArgs e)
        {
            //установка громкости
            trackBar1.Minimum = 0;
            trackBar1.Maximum = 10;
            trackBar1.Value = 5;
            //установка баланса
            trackBar2.Minimum = -5;
            trackBar2.Maximum = 5;
            trackBar2.Value = 0;
           
 
            Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero);
            
 
        }
 
private void timer2_Tick(object sender, EventArgs e)
        {
            N = int.Parse(textBox2.Text);
            int[] _stream = new int[N];
 
            for (int i = 0; i < N; i++)
            {
                string fileName = listBox1.Items[i].ToString();
 
                _stream[i] = Bass.BASS_StreamCreateFile(fileName, 0, 0, BASSFlag.BASS_DEFAULT);
 
                //установка громкости звука
               Bass.BASS_ChannelSetAttribute(_stream[i], BASSAttribute.BASS_ATTRIB_VOL, (float)trackBar1.Value/10f);
                //установка баланса
               Bass.BASS_ChannelSetAttribute(_stream[i], BASSAttribute.BASS_ATTRIB_PAN, (float)trackBar2.Value/5f);
            }
 
        }
Помогите разобраться почему не могу убавить/прибавить громкость или изменить баланс.
Raven! вне форума Ответить с цитированием
Старый 25.05.2023, 23:41   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Не разбираюсь в BASS, так что только предположение: вы на каждом тике создаете новые потоки с музыкальными файлами и выставляете им громкость и баланс, но это не влияет на уже созданные потоки (на предыдущем тике). Вам нужно хранить хендл потока вне функции timer2_Tick и для него выставлять атрибуты.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 27.05.2023, 15:27   #3
Raven!
 
Регистрация: 04.02.2020
Сообщений: 9
По умолчанию

Здравствуйте. Можете на примере показать, а то я язык C# плохо знаю. Не до конца понимаю, что вы имеете в виду.
Raven! вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемотка и изменение громкости D6ist Мультимедиа в Delphi 0 08.04.2018 20:23
C# Win7 Изменение громкости приложений. Eminem Помощь студентам 0 29.04.2013 19:11
Расчет материального баланса Gregor Общие вопросы по программированию, компьютерный форум 2 27.07.2011 13:35
Написать проверку баланса на МТС misher Общие вопросы Delphi 5 26.01.2011 18:43
Изменение громкости mutabor Win Api 2 04.08.2007 01:12