DSound первичный буфер
От: Аноним  
Дата: 22.08.03 08:23
Оценка:
Надо пригрывать wave но по принципу Winampa, тоесть маленькими кусочками.
Грубо говоря за одну секунду проиграть 125 буферов. При использовании вторичных буфферов появляеться репение. Поетому пытаюсь использовать первичный буфер.

Но вот проблема! Не могу установить режим совместного доступа DSSCL_WRITEPRIMARY


LPDIRECTSOUND8 pDS=0;

//Создаем обект DirectSound(PLAY)
hRet=DirectSoundCreate8(0,&pDS,0);
if( hRet!=DS_OK )return false;

//Устанавливаем режим совместного доступа
hRet=pDS->SetCooperativeLevel(hWnd,DSSCL_WRITEPRIMARY);
if( hRet!=DS_OK )return false;


hRet = -2005401440
Re: DSound первичный буфер
От: m_jack Россия  
Дата: 09.09.03 06:50
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Надо пригрывать wave но по принципу Winampa, тоесть маленькими кусочками.

А>Грубо говоря за одну секунду проиграть 125 буферов. При использовании вторичных буфферов появляеться репение. Поетому пытаюсь использовать первичный буфер.

А>Но вот проблема! Не могу установить режим совместного доступа DSSCL_WRITEPRIMARY



А>LPDIRECTSOUND8 pDS=0;


А>//Создаем обект DirectSound(PLAY)

А>hRet=DirectSoundCreate8(0,&pDS,0);
А>if( hRet!=DS_OK )return false;

А>//Устанавливаем режим совместного доступа

А>hRet=pDS->SetCooperativeLevel(hWnd,DSSCL_WRITEPRIMARY);
А>if( hRet!=DS_OK )return false;


А>hRet = -2005401440


Честно говоря , не понял , что ты хочешь ... Чтобы не было щелчков при проигрывании буффера , сразу запускай первичный буффер на постоянное проигрывание (Play()) Тогда при включении вторичных буфферов не будет щелчков. Или я не так понял?
Re: DSound первичный буфер
От: Аноним  
Дата: 11.09.03 11:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>//Устанавливаем режим совместного доступа

А>hRet=pDS->SetCooperativeLevel(hWnd,DSSCL_WRITEPRIMARY);
А>if( hRet!=DS_OK )return false;
А>hRet = -2005401440

насколько я понял ошибка следующая:
; Another app has a higher priority level, preventing this call from succeeding
= 887800A0 DSERR_OTHERAPPHASPRIO

Какая система? не уверен, что в Win2k можно в primary buffer писать... не пробовал
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.