|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
как убавить/прибавить звук без затрагивания стандартного микшера windows
вообщем возникла такая проблема, моя прога воспроизводит звуки в формате wav в одном MediaPlayer, в другом у меня в это время играет фоновая музыка, и мне нужно, чтобы я смог регулировать громкость звуков и громкость музыки отдельно, при этом не затрагивая системную громкость.
даже лучше не регулировать, мне нужно чтобы звуки были громче, чем фоновая музыка раза так в 3. (зы везде советуют в какой нить муз.проге убавить изначальную громкость музыки - сразу говорю - такой вариант не катит) |
#2
|
||||
|
||||
Такой функции в стандартном MediaPlayer нету. Я бы задумался об использовании bass.dll...
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
А в конфигурации динамиков линейный вход присутствует?
|
#4
|
|||
|
|||
Если в конфигурации динамиков есть линейный вход, то можно сделать это через него? Или все -таки надо использовать программу?
|
#5
|
|||
|
|||
Есть специальный аддон для этого.
|
#6
|
||||
|
||||
Я такую фишку уже делал. Там регуляция громкости привязана непосредственно к источнику звука, к проге-плееру. Код я нашёл в DelphiWorld. Только надо искать внимательно, там ещё описаны три-четыре способа, которые нам не подходят.
Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому |
#7
|
||||
|
||||
Вот, нашёл код процедур, у меня работает безукоризненно.
Код:
uses MMSystem; const MCI_SETAUDIO = $0873; MCI_DGV_SETAUDIO_VOLUME = $4002; MCI_DGV_SETAUDIO_ITEM = $00800000; MCI_DGV_SETAUDIO_VALUE = $01000000; MCI_DGV_STATUS_VOLUME = $4019; type MCI_DGV_SETAUDIO_PARMS = record dwCallback: DWORD; dwItem: DWORD; dwValue: DWORD; dwOver: DWORD; lpstrAlgorithm: PChar; lpstrQuality: PChar; end; type MCI_STATUS_PARMS = record dwCallback: DWORD; dwReturn: DWORD; dwItem: DWORD; dwTrack: DWORD; end; procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer); { Volume: 0 - 1000 } var p: MCI_DGV_SETAUDIO_PARMS; begin { Volume: 0 - 1000 } p.dwCallback := 0; p.dwItem := MCI_DGV_SETAUDIO_VOLUME; p.dwValue := Volume; p.dwOver := 0; p.lpstrAlgorithm := nil; p.lpstrQuality := nil; mciSendCommand(MP.DeviceID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p)); end; function GetMPVolume(MP: TMediaPlayer): Integer; var p: MCI_STATUS_PARMS; begin p.dwCallback := 0; p.dwItem := MCI_DGV_STATUS_VOLUME; mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@p)); Result := p.dwReturn; { Volume: 0 - 1000 } end; Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому |