2014-12-16 2 views
1

Я хотел бы выводить аудио-поток (асинхронно) на C++.C++ аудиовыход

Я уже посмотрел here, here и here, но он устарел и ссылка не работает.

Я уверен, что это простая задача, но я не могу найти нигде в Интернете, чтобы это сделать. Я предпочитаю что-то аккуратное и аккуратное, ориентированное на STL (например, устройство, на которое я могу писать, например, я пишу в screeen?). Поскольку я использую VC2013, я могу использовать предварительно скомпилированные заголовки Windows, но предпочитаю избегать этого.

Спасибо,

UPDATE:

Я пытался остаться близко к STL, но внешний вид его, я не могу, так что я буду придерживаться Windows API. PlaySound неуместно, потому что мои данные не находятся в файле, он находится в буфере памяти. Я попытался с помощью waveOutWrite но я хотел бы играть два звук последовательно, т.е. при Т = 0 начинает звук в течение 2 сек, а при Т = 1 начать звук на 3 сек (перекрытие)

+2

аудио выход простая задача? Я что-то пропустил в этом году? Здесь нет никакого стандартного способа, поэтому он не может быть «простой задачей». Также что не так со ссылками, которые вы опубликовали? Я вижу, что вы используете среду Windows, поэтому почему бы не использовать directx api, 'PlaySound' и т. Д.? –

+3

Прежде всего, вы не можете сделать это так, как будто вы «пишете на экран», потому что звук не является частью C++, это зависит от платформы, и вам нужно использовать определенные для платформы функции, чтобы заставить его работать. Во-вторых, что вы пробовали? Как это работало (или не работает)? И прекомпилированные заголовки не имеют к этому никакого отношения, это просто способ ускорить компиляцию. –

+0

использование sndPlaySound (или PlaySound) – Fl0

ответ

1

Есть много различных способы вывода звука, и я не могу перечислить их все здесь.

Поскольку вы используете Windows, вы можете использовать MS API как Core Audio или DirectSound.

Вы также можете использовать API перекрестной платформы, например FMOD Ex.

В любом случае, вывод звука не является трудным, но это не совсем тривиально; вы должны ожидать ~ 10 вызовов API для примера приличного рабочего аудиопотока.