|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
Как воспроизвести звук из ресурса (mp3)23.09.2011, 13:15. Показов 18222. Ответов 26
Метки нет (Все метки)
Мне в приложении нужно использовать три муз. фрагмента *.mp3, которые я поместил в ресурсы как BINARY.
Сейчас я поступаю "некрасиво", - отправляю их в буфер, его записываю как файл и в функции воспроизведения ... hwnd = MCIWndCreate(hwndParent, hInstance, 0, "fragm.mp3"); MCIWndPlay(hwnd); пользуюсь этим файлом. ХОТЕЛОСЬ БЫ "научить" MCIWndCreate вместо файла использовать сам буфер (массив) или поток. Может кто знает, как иначе "скроить" воспроизведение *.mp3 из ресурса?
0
|
|
| 23.09.2011, 13:15 | |
|
Ответы с готовыми решениями:
26
Как воспроизвести mp3 |
|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
| 25.09.2011, 14:00 | |
|
а средствами виндус никак нельзя? тоже интересует этот вопрос
0
|
|
|
|
|
| 25.09.2011, 14:57 | |
|
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 25.09.2011, 17:07 [ТС] | |
|
Со статьей ознакомился, спасибо. Правда она мало что мне разъяснила и не со всем я согласен. Мне, например, не очень понятно, к чему эти длинные прописи: загрузка ресурса, блокирование, затем освобождение. Я пока "умял" такие примеры - полчаса потерял (если 1 к 1, то ошибки на стадии компиляции). Сам же пользовался одной строкой (пост №8) и меня всё устраивало. Также не вижу резона отказываться от флага SND_ASYNC, - вы попробуйте в синхронном режиме, - будете без пользы по панели программы кликать, пока Децл не допоёт... .
Ну и потом: всё это относится к WAV - файлам; они несжатые. А мне хочется mp3. Их по моему и склеивать на лету можно, если не ошибаюсь.И с файлами .rc я люблю работать, но опять-таки без лишних телодвижений (ну, ленивый я...!). "Стройка" сама его компилирует, не нужно мне из .rc .res делать. Ну, и так далее... . "... где бык-то?!" (Маугли) - что насчёт виртуального файла?
0
|
|
|
0 / 0 / 0
Регистрация: 19.07.2017
Сообщений: 1
|
||||
| 11.11.2011, 11:10 | ||||
![]() Связывайтесь с Win API, только если это лаконично будет. А в некоторых ваших примерах по 10-20 строчек кода... nuff said. Хотите проиграть WAV из ресурсов просто? Это можно сделать ОДНОЙ строкой. const char* RES = "MYSOUND1"; PlaySound(RES,HInstance, SND_ASYNC | SND_RESOURCE); // вместо HInstance может быть и NULL, программа на вас не обидится за это В .rc-файле: MYSOUND1 WAVE "DOOMMUSIC.wav" ------------------------------------------------------------- И на всякий случай кидаю пример проигрывания *.MIDI файлов, ВДРУГ кто-нибудь использует MIDI как дешевую альтернативу MP3... // открытие файла FILE.MID и присвоение ему псевдонима MUSIC mciSendString("open FILE.MID type sequencer alias MUSIC", NULL, 0, 0); // запускаем mciSendString("play MUSIC from 0", NULL, 0, 0); // ... где-нибудь в коде - остановка музыки mciSendString("close MUSIC", NULL, 0, 0); // поставить на паузу mciSendString("pause MUSIC", NULL, 0, 0); Правда, при снятии с паузы (командой "play MUSIC") все инструменты почему-то сбрасываются на ПИАНИНО... (у меня на двух разных аудиокартах было одно и то же) а вот команда "play MUSIC from 0" отрабатывает корректно, но запускает музыку с начала (from 0). Добавлено через 13 минут
Надо просто включить .rc файл в состав проекта [Add file to project]. Вот например мой файл ресурсов, где подключены PNG и WAV файлы:
0
|
||||
|
9 / 9 / 0
Регистрация: 18.11.2011
Сообщений: 55
|
|
| 07.04.2014, 22:21 | |
|
VladGuardian, спасибо!
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 21.07.2014, 15:22 [ТС] | ||||||
|
Похоже, что вместо NULL (второй параметр) ожидается указатель (адрес) на символьный массив (строку), куда запишется результат операции
0
|
||||||
| 21.07.2014, 15:22 | |
|
Как воспроизвести mp3 файл? Как воспроизвести mp3 файл
Как воспроизвести стандартными средствами mp3 файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|