Russian Qt Forum
Ноябрь 26, 2024, 09:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проиграть звук из массива сэмплов? Возможно?  (Прочитано 4229 раз)
Hrundel
Гость
« : Апрель 22, 2013, 23:30 »

Всем привет.

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

Спасибо за советы и объяснения.
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #1 : Апрель 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 и пишешь в него данные
Записан

xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #2 : Апрель 23, 2013, 08:25 »

Вопрос: есть ли возможность проиграть звук прямо из массива не формируя файла?
Конечно, можно. Например, через QAudioOutput.

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

Записан
Hrundel
Гость
« Ответ #3 : Апрель 23, 2013, 19:26 »

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

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

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

Сообщений: 976



Просмотр профиля
« Ответ #4 : Апрель 24, 2013, 08:07 »

а во втором - формирование всего файла вместе с заголовком.
Вот это точно уж не нужно. Данные о частоте дискретизации, количестве каналов и т.п. нужны для инициализации QAudioOutput и не более. Как это делается можно посмотреть в examples\multimedia\audiooutput своего Qt дистрибутива.
Записан
Hrundel
Гость
« Ответ #5 : Апрель 24, 2013, 16:49 »

Вот это точно уж не нужно. Данные о частоте дискретизации, количестве каналов и т.п. нужны для инициализации QAudioOutput и не более. Как это делается можно посмотреть в examples\multimedia\audiooutput своего Qt дистрибутива.

Ну, и отлично!!! Спасибо!!!  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.112 секунд. Запросов: 22.