Russian Qt Forum

Qt => Мультимедиа => Тема начата: Hrundel от Апреля 22, 2013, 23:30



Название: Проиграть звук из массива сэмплов? Возможно?
Отправлено: Hrundel от Апреля 22, 2013, 23:30
Всем привет.

Практически дописал курсовую. Читаю звуковой файл в память, потом применяю фильтры. Вопрос: есть ли возможность проиграть звук прямо из массива не формируя файла? Предчувствую, что нет. Другой вопрос, если  я сформировал файл прямо в памяти, могу я его прямо из памяти проиграть?
Понятно, что если я его на диск кину, то смогу всяко разно проиграть... или вы считаете надо на диске темп создать и оттуда читать?

Спасибо за советы и объяснения.


Название: Re: Проиграть звук из массива сэмплов? Возможно?
Отправлено: lesav от Апреля 23, 2013, 08:10
WINDOWS
Код
C++ (Qt)
#include <windows.h>
#include <mmsystem.h>
 
WINMMAPI MMRESULT WINAPI waveOutWrite( __in HWAVEOUT hwo, __inout_bcount(cbwh) LPWAVEHDR pwh, __in UINT cbwh);


UNIX
Открываешь /dev/dsp и пишешь в него данные


Название: Re: Проиграть звук из массива сэмплов? Возможно?
Отправлено: xokc от Апреля 23, 2013, 08:25
Вопрос: есть ли возможность проиграть звук прямо из массива не формируя файла?
Конечно, можно. Например, через QAudioOutput.

Другой вопрос, если  я сформировал файл прямо в памяти, могу я его прямо из памяти проиграть?
Вот тут я вообще теряюсь. Что такое "файл в памяти"? Или это всё же не другой вопрос, а перефразирование первого?



Название: Re: Проиграть звук из массива сэмплов? Возможно?
Отправлено: Hrundel от Апреля 23, 2013, 19:26
Другой вопрос, если  я сформировал файл прямо в памяти, могу я его прямо из памяти проиграть?
Вот тут я вообще теряюсь. Что такое "файл в памяти"? Или это всё же не другой вопрос, а перефразирование первого?

:) Прошу прощение за неполное выражение мысли. Это почти перефразирование.
Просто, в первом случае я подразумевал тупой слив значений сэмплов прямо из массива, а во втором - формирование всего файла вместе с заголовком.

Большое спасибо, всем откликнувшимся. Почитаю как это обрабатывается QAudioOutput. WinAPI - конечно путевая штука, но разбираться с ней нет ни времени, ни желания. По крайней мере - пока учусь. Может попозже. Но все-равно, большое спасибо!


Название: Re: Проиграть звук из массива сэмплов? Возможно?
Отправлено: xokc от Апреля 24, 2013, 08:07
а во втором - формирование всего файла вместе с заголовком.
Вот это точно уж не нужно. Данные о частоте дискретизации, количестве каналов и т.п. нужны для инициализации QAudioOutput и не более. Как это делается можно посмотреть в examples\multimedia\audiooutput своего Qt дистрибутива.


Название: Re: Проиграть звук из массива сэмплов? Возможно?
Отправлено: Hrundel от Апреля 24, 2013, 16:49
Вот это точно уж не нужно. Данные о частоте дискретизации, количестве каналов и т.п. нужны для инициализации QAudioOutput и не более. Как это делается можно посмотреть в examples\multimedia\audiooutput своего Qt дистрибутива.

Ну, и отлично!!! Спасибо!!!  :)