Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Потоковая передача — это процесс поддержания лишь небольшой части проигрываемого звукового файла в памяти. Это позволяет воспроизводить большие звуковые файлы, такие как фоновая музыка, и не занимает большое количество памяти.
При потоковой передаче аудиофайла его данные считываются с диска в блоках, а не загружают весь файл одновременно. Потоковая передача осуществляется с помощью асинхронного чтения звуковых данных в очередь дисковых буферов. Каждый буфер заполняется, а затем передаётся в источник голоса. После того как голос завершит воспроизводить буфер, буфер снова становится доступным для чтения. Циклирование буферов диска таким образом позволяет воспроизводить большой звуковой файл, пока загружается только часть его данных. Код потоковой передачи должен быть помещен в отдельный поток, где он может приостановиться, ожидая завершения длительных операций диска и звука. Класс обратного вызова используется для активации потока путем срабатывания событий, когда завершаются аудиооперации.
Пример выполнения потоковой передачи с помощью XAudio2 см. в разделе How to: Stream a Sound from Disk.
Связанные разделы