|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Выбор звуковой карты
Есть комп с двумя звуковухами, нужно сделать прогу которая предоставляет пользователю выбор на какую аудиокарту выводить звук, и еще интересует возможность на две сразу разные звуки...заранее спасибо
|
#2
|
|||
|
|||
выбор усторйства bass dll умеет
когда вижу слова "нужно сделать прогу" почему-то думаю, что автор вообще не знает во что ввязывается >woweook< |
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
пишем в гугл bass, идем по первой ссылке, скачиваем архив для вин, в примерах находим
Код:
procedure TForm2.FormCreate(Sender: TObject); var i: Integer; ADeviceInfo: BASS_DEVICEINFO; begin i := 1; while BASS_GetDeviceInfo(I, ADeviceInfo) do begin ListBox1.Items.Add(ADeviceInfo.name); i := i + 1; end; end; Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
Этот пользователь сказал Спасибо cotseec за это полезное сообщение: | ||
mikesunrise (15.08.2012)
|
#5
|
|||
|
|||
Цитата:
работает, спасибо извини конечно, я новичок в этом, а как все таки проиграть звук?буду оооочень благодарен) |
#6
|
||||
|
||||
Например:
Код:
chan := BASS_StreamCreateFile(False, PChar(FileName), 0, 0, BASS_SAMPLE_LOOP); BASS_ChannelPlay(chan, False); Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
mikesunrise (15.08.2012)
|
#7
|
|||
|
|||
Цитата:
какой тип переменной chan? |
#8
|
||||
|
||||
Всё-таки примеры посмотри - DWORD.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
mikesunrise (16.08.2012)
|
#9
|
|||
|
|||
Вот сама программа, с выбором звуковой проблемы не исчезли во первых не видит мою эмулированную звуковуху Virtual Audio Cable,во-вторых - во время проигрывания азбуки морзе не возможно двигать окно и запускать другой режим работы. САМАЯ АКТУАЛЬНАЯ ПРОБЛЕМА НА ДАННОМ ЭТАПЕ - ВЫБОР АУДИОКАРТЫ. Помогите пожалуйста с кодом, сам не могу разобраться...заранее спасибо
|
#10
|
|||
|
|||
выбирает первый попавшийся кабель
Код:
function virtual_cable: integer; var i, n, r: integer; m: HMIXER; d: MIXERCAPS; name: string; begin n := mixerGetNumDevs; result := -1; for i := 0 to n - 1 do begin r := mixerOpen(@m, i, 0, 0, 0); r := mixerGetDevCaps(m, @d, sizeof(d)); name := LowerCase(StrPas(d.szPname)); if (pos('virtual', name) <> 0) and (pos('cable', name) <> 0) then begin result := i + 1; break; end; end; end; //... device := virtual_cable; if not BASS_Init(device, 44100, 0, Handle, nil) then >woweook< |
Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
mikesunrise (16.08.2012)
|
#11
|
|||
|
|||
а на примере моей программы?
|
#12
|
||||
|
||||
на примере вашей программы.....
функция Beep() выводит звук на встроенный спикер (штатный динамик компьютера) и к звуковым платам не имеет никакого отношения, хотя музыку на спикере можно поиграть, в DOS шедевры получались у умельцев..... в вашем случае: либо найти два звуковых файлика для озвучки точки и тире и их проигрывать соответственно либо два массива заполнить соответствующими данными и кормить ими выбранную звуковую карточку в соответствии с точками тире оба пункта возможны как через bass так и через стандартный микшер (юнит MMSystem) а по поводу списка звуковых плат все сказано выше иногда можно почитать что-либо и посмотреть какие-либо примеры (все это также дано было выше) Понять, что хочет заказчик - бесценно, ведь он платит MasterCard Последний раз редактировалось cotseec, 16.08.2012 в 22:30. |