Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод GetNextPacketSize извлекает количество кадров в следующем пакете данных в буфере конечной точки записи.
Синтаксис
HRESULT GetNextPacketSize(
[out] UINT32 *pNumFramesInNextPacket
);
Параметры
[out] pNumFramesInNextPacket
Указатель на переменную UINT32 , в которую метод записывает число кадров (количество звуковых кадров в следующем пакете записи).
Возвращаемое значение
Если метод выполнен успешно, он возвращает S_OK. В случае сбоя возможные коды возврата включаются, но не ограничиваются значениями, приведенными в следующей таблице.
| Код возврата | Description |
|---|---|
|
Устройство конечной точки звука было отключено, или звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или недоступны для использования. |
|
Ресурсы потока были недействительны. Эта ошибка может возникать по следующим причинам: — поток приостановлен. — Поток эксклюзивной или разгрузки отключен. — Упаковаемое приложение с монопольным режимом или потоком разгрузки. — Поток "защищенных выходных данных" закрыт. |
|
Звуковая служба Windows не запущена. |
|
Параметр pNumFramesInNextPacket имеет значение NULL. |
Замечания
Используйте этот метод только с потоками общего режима. Он не работает с потоками в монопольном режиме.
Перед вызовом метода IAudioCaptureClient::GetBuffer для получения следующего пакета данных клиент может вызвать GetNextPacketSize , чтобы получить количество звуковых кадров в следующем пакете. Счетчик, сообщаемый GetNextPacketSize , соответствует количеству, полученному в вызове GetBuffer (через выходной параметр pNumFramesToRead ), который следует вызову GetNextPacketSize .
Пакет всегда состоит из целого числа аудиокадров.
Метод GetNextPacketSize должен вызываться в том же потоке, что и метод GetBuffer и IAudioCaptureClient::ReleaseBuffer , который получает и освобождает пакеты в буфере конечной точки записи.
Пример кода, использующий метод GetNextPacketSize , см. в разделе "Запись потока".
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [классические приложения | Приложения UWP] |
| минимальный поддерживаемый сервер | Windows Server 2008 [классические приложения | Приложения UWP] |
| целевая платформа | Windows |
| Header | audioclient.h |
См. также
IAudioCaptureClient::GetBuffer