|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.06.2011, 19:24 | #1 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Проиграть данные с модема с методом Bass.dll
Здравствуйте форумчане!!!
Подскажите кто нибудь, как проиграть данные с модема с помощью bass.dll. Звуковые данные я получаю воспроизвожу с помощью ACMWaveOut хотелось бы с помощью Bass без сохранения в файл, сразу с буфера. Последний раз редактировалось Aliens_wolfs; 13.06.2011 в 19:42. |
13.06.2011, 20:15 | #2 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
выбери это устройство через Bass_Init и делай с ним что хочешь...
|
13.06.2011, 20:36 | #3 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
if not BASS_Init(-1, 8000, 0, Handle, nil) then
begin ShowMessage('Can''t initialize device'); Exit; end; ........... stream:=BASS_StreamCreate(8000, 1, 0, buf, 0); BASS_ChannelPlay(stream,true); Не получается выдает ошибку. А вот с stream:=BASS_StreamCreateFile(false , PChar(Filename), 0, 0, 0); работает постоянно файл приходится создавать. Мне нужно с буфера сразу воспроизводить Последний раз редактировалось Aliens_wolfs; 13.06.2011 в 20:49. |
13.06.2011, 20:46 | #4 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
что за ошибка?
|
13.06.2011, 20:55 | #5 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Ошибка Privileged instruction
Как BASS_ChannelPlay(stream,true); эту строку отключаю ошибка непоявляется работает так stream:=BASS_StreamCreateFile(false , PChar(Filename), 0, 0, 0); BASS_ChannelPlay(stream,true); Неудобно что приходиться в этот файл заголовок создавать Последний раз редактировалось Aliens_wolfs; 13.06.2011 в 20:59. |
13.06.2011, 20:59 | #6 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
а что у тебя модем стоит дефалтным в системе?
|
13.06.2011, 21:08 | #7 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Модем простой с подержкой голосовых данных, написал прогу которая открывает порт и с помощью модемных команд я получаю звуковые данные вот эти данные хочу воспроизвести с помощью Bass. С помощью модуля ACMWaveOut воспроизводит.
procedure TForm1.Button2Click(Sender: TObject); begin ComPorts.WriteStr('AT+FCLASS=8'+#13 ); //переход в голосовые данные модема ComPorts.WriteStr('AT+VSM=128,8000' +#13); //формат голосовых данных ADPCM ComPorts.WriteStr('AT+VLS=1'+#13); //снимать звук с линии ComPorts.WriteStr('AT+VRX'+#13); //получаю данные Plays:=true; end; procedure TForm1.Button1Click(Sender: TObject); begin ComPorts.Open('COM6',115200,8,0,1); end; procedure TForm1.FormCreate(Sender: TObject); begin if not BASS_Init(-1, 8000, 0, Handle, nil) then begin ShowMessage('Can''t initialize device'); Exit; end; ComPorts:=TComPorts.Create; ComPorts.OnRead:=OnReadComPort; end; //Функция получения данных с буфера модема procedure TForm1.OnReadComPort(Sender: TObject; ComPort: TComPort); var stream : HSTREAM; begin if Plays then begin BASS_SetConfig(BASS_CONFIG_BUFFER, ComPort.BufSize); stream:=BASS_StreamCreate(8000, 1, 0, ComPort.BuF, 0); BASS_ChannelPlay(stream,true); Bass_StreamFree(stream); end; end; Мне нужно работать с Буфером с помощью Bass Последний раз редактировалось Aliens_wolfs; 13.06.2011 в 23:37. |
13.06.2011, 21:12 | #8 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
нее, я вот о чем
if not BASS_Init(-1, 8000, 0, Handle, nil) then "-1" - звук. устройство по умолчанию, тебе надо его заменить на индекс модема (может 2?) |
13.06.2011, 21:57 | #9 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Сейчас попробую
if not BASS_Init(2, 8000, 0, Handle, nil) then begin ShowMessage('Can''t initialize device'); Exit; end; выдает ошибку с другими индексами тоже ошибка Инициализация не проходит тут видимо нужно с BASS_StreamCreate правильно работать Последний раз редактировалось Aliens_wolfs; 13.06.2011 в 22:41. |
14.06.2011, 08:52 | #10 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
попробуй так
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как воспроизвести звук с модема используя BASS | Aliens_wolfs | Компоненты Delphi | 0 | 20.05.2011 13:50 |
Bass. Проиграть потоковое аудио с прокруткой | Delphi_ProGer | Помощь студентам | 0 | 25.02.2011 21:07 |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |
BASS DLL | ygy | Мультимедиа в Delphi | 4 | 29.09.2009 04:39 |
BASS.DLL | VintProg | Мультимедиа в Delphi | 2 | 21.09.2009 16:36 |