"Stuw" <46479@users.rsdn.ru> сообщил/сообщила в новостях следующее:
news:1414854@news.rsdn.ru...
> Здравствуйте!
>
> Есть приложение использующее DirectSound.
> При остановке и последующем проигрывании звучание не продолжается, а как бы откатывается немного назад (совсем немного). Из-за этого при частых подобных манипуляциях возникают биения. Как можно с этим бороться?
>
> Пробвал дописывать немного пустых данных — лучше не стало.
> Перемещать курсор проигрывания не ясно на сколько (если пытаться убрать его с повторяющихся данных)
Приблизительно вот так:
IDirectSoundBuffer8 *pDSB;
DWORD dwPlayPos, dwWritePos;
pDSB->GetCurrentPosition(&dwPlayPos, &dwWritePos);
pDSB->Stop();
...
pDSB->SetCurrentPosition(dwPlayPos);
pDSB->Play();
Posted via RSDN NNTP Server 1.9
Здравствуйте, sch, Вы писали:
sch>Приблизительно вот так:
sch>sch>IDirectSoundBuffer8 *pDSB;
sch>DWORD dwPlayPos, dwWritePos;
pDSB->>GetCurrentPosition(&dwPlayPos, &dwWritePos);
pDSB->>Stop();
sch>...
pDSB->>SetCurrentPosition(dwPlayPos);
pDSB->>Play();
sch>
У меня потоковые данные и мне нужно выставлять уведомления о бостижении позиции в буфере. Такой подход не проходит, к сожалению, в данном случае

Хотя может я плохо реализовал

Все равно огромное спасибо
Здравствуйте, Stuw, Вы писали:
S>Здравствуйте!
S>Есть приложение использующее DirectSound.
S>При остановке и последующем проигрывании звучание не продолжается, а как бы откатывается немного назад (совсем немного). Из-за этого при частых подобных манипуляциях возникают биения. Как можно с этим бороться?
S>Пробвал дописывать немного пустых данных — лучше не стало.
S>Перемещать курсор проигрывания не ясно на сколько (если пытаться убрать его с повторяющихся данных)
Предложу координальный метод
Возьми бесплатную библиотеку
http://antitank.net/files/Squall_1.45.zip
Она решит и данную проблему и все следующие

Сами используем.
Здравствуйте, VladKurmaz, Вы писали:
VK>Здравствуйте, Stuw, Вы писали:
S>>Здравствуйте! :)
S>>Есть приложение использующее DirectSound.
S>>При остановке и последующем проигрывании звучание не продолжается, а как бы откатывается немного назад (совсем немного). Из-за этого при частых подобных манипуляциях возникают биения. Как можно с этим бороться? :)
S>>Пробвал дописывать немного пустых данных — лучше не стало.
S>>Перемещать курсор проигрывания не ясно на сколько (если пытаться убрать его с повторяющихся данных)
VK>Предложу координальный метод :)
VK>Возьми бесплатную библиотеку
VK>http://antitank.net/files/Squall_1.45.zip
VK>Она решит и данную проблему и все следующие :)
VK>Сами используем.
Спасибо, попробую :)