Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
0 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 74

Фоновое воспроизведение музыки С++ и WinApi

12.02.2015, 23:18. Показов 8114. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, хочу при запуске что бы на заднем фоне себе там играла музыка. Перелазил множество сайтов, прочитал множество мануалов, использовал уже готовые коды и в результате ничего! Постоянно выбивают ошибки при компиляции когда использую функцию PlaySound, а вот ShellExecute работает, но ничего не воспроизводит. Можете подсказать какой код использовать ? Или как правильно прописать.

Вот мой несчастный код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <Windows.h>
#include <mmsystem.h>
#include <iostream>
#include <Shellapi.h>
using namespace std;
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) {
 
    PlaySound((LPCWSTR)"in_da.wav", NULL, NULL);
    ShellExecute(NULL, (LPCWSTR)"open", (LPCWSTR)"C:\\Users\\ME\\Documents\\Visual Studio 2013\\Projects\\Your_Choice\\Your_Choice\\ms.mp3", NULL, NULL, SW_SHOWNORMAL);
    
    system("pause");
    return 0;
 
}
если не закоментить
C++
1
PlaySound((LPCWSTR)"in_da.wav", NULL, NULL);
то при компиляции такие вот ошибки :

Кликните здесь для просмотра всего текста
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__PlaySoundW@12 в функции _WinMain@16 c:\Users\ME\documents\visual studio 2013\Projects\Your_Choice\Your_Choice\Ma in.obj Your_Choice

Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 c:\users\me\documents\visual studio 2013\Projects\Your_Choice\Debug\Your_Cho ice.exe 1 1 Your_Choice
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2015, 23:18
Ответы с готовыми решениями:

Воспроизведение звука в WinAPI
Всем здрасьте. Я добавил звук в ресурсы и воспроизвожу его вот так: PlaySound(MAKEINTRESOURCE(IDR_WAVE), 0, SND_RESOURCE | SND_ASYNC |...

Фоновое воспроизведение музыки
Наверное просьба очень наглая, но может кто сделать простенькую программу(скрипт) для воспроизведения фоновой музыки в windows? Хочется...

Фоновое воспроизведение звука
Всем доброго времени суток!) Пишу кое-какую утилитку на VS2008. При возникновении определенного события должен запустится wav-файл и...

8
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
12.02.2015, 23:31
библиотеки то подключил?
1
0 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 74
12.02.2015, 23:37  [ТС]
Какие ? Я просто только начал изучать WinApi, помогите пожалуйста
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
12.02.2015, 23:52
Цитата Сообщение от Gameer Посмотреть сообщение
Какие ?
winmm.lib
в зависимости от компилятора по разному подключается вот здесь пример для Visual C++
http://www.soundcoding.ru/WIN32/playsound_vc++.htm
вообще смотри всегда MSDN там написано какие заголовчные файлы и какие библиотеки нужны для данной функции
https://msdn.microsoft.com/ru-... s.85).aspx про PlaySound
1
0 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 74
12.02.2015, 23:59  [ТС]
Да, я уже подключил
C++
1
#pragma comment (lib, "winmm.lib")
но толку 0, но ошибки пропали при компиляции. Не играет песня.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
13.02.2015, 00:01
Лучший ответ Сообщение было отмечено Gameer как решение

Решение

Цитата Сообщение от Gameer Посмотреть сообщение
Да, я уже подключил
C++
1
#pragma comment (lib, "Winmm.lib")
теперь смотрим MSDN
Build FAILED

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <MMSystem.h>
#include <Windows.h>
 
 
#pragma comment(lib, "winmm.lib")
 
 
void main() {
 
 
 PlaySound(TEXT("test.wav"),NULL, SND_LOOP | SND_ASYNC);
 
}

why build failed?
и далее подробно как нужно подключать
1
0 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 74
13.02.2015, 01:07  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <Windows.h>
#include <mmsystem.h>
#include <iostream>
#include <Shellapi.h>
#include <stdio.h>
 
#pragma comment(lib, "winmm.lib")
 
 
void main() {
 
 
    PlaySound(TEXT("in_da.wav"), NULL, SND_LOOP | SND_ASYNC);
 
}
И ошибки при компиляции :

Кликните здесь для просмотра всего текста

Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup c:\Users\Me\documents\visual studio 2013\Projects\Your_Choice\Your_Choice\MS VCRTD.lib(crtexew.obj) Your_Choice

Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 c:\users\me\documents\visual studio 2013\Projects\Your_Choice\Debug\Your_Cho ice.exe Your_Choice


Добавлено через 26 минут
Все спасибо большое, разобрался. Если кому то нужно :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <Windows.h>
#include <Shellapi.h>
#include <stdio.h>
 
#include "MMSystem.h"
 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) {
 
    PlaySound(TEXT("название песни.wav"), NULL, SND_LOOP | SND_ASYNC);
    system("pause");
 
}
Далее нажмите в Обозреватель решений на название проекта, перейдите в вкладку - Свойства.

Далее в правом меню выберите пункт Компоновщик, и в выпадающем меню Ввод.

Нажмите на Дополнительные зависимости и в выпадающей менюшке выберите Изменить.

И в первом вводимой области вставьте
Кликните здесь для просмотра всего текста

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
winmm.lib


Так заиграли у меня wav файлы.

А как быть с mp3 ?

Добавлено через 2 минуты
C++
1
ShellExecute(NULL, TEXT("open"), TEXT("C:\\Users\\Me\\Documents\\Visual Studio 2013\\Projects\\Your_Choice\\Your_Choice\\ms.mp3"), NULL, NULL, SW_SHOWNORMAL);
Этот код открывает песню в WMPlayer, а как сделать так же как и с wav файлами ? Что бы на заднем фоне играла музыка.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
13.02.2015, 01:14
Цитата Сообщение от Gameer Посмотреть сообщение
А как быть с mp3 ?
искать сторонние библиотеки стандартные виндовые МРЗ не поодерживают
или рыть в сторону DirectSound у него возможности побольше
1
0 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 74
13.02.2015, 01:17  [ТС]
Спасибо, пошел изучать и искать. Проблема решена, тему можно закрыть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2015, 01:17
Помогаю со студенческими работами здесь

Фоновое воспроизведение аудио Windows Phone
Доброго времени суток. Пишу под Windows Phone..Кто знает, Подскажите, как реализовать такую задачу: например у меня есть 10 кнопок. При...

Воспроизведение музыки
$i = 0; $handle = opendir ('music/'); while($file = readdir($handle)) { if ($file != '.' &amp;&amp; $file != '..') { $func =...

Воспроизведение музыки
Добрый вечер, возникла проблема, а точнее нужно при нажатии на отдельные кнопки воспроизводить свой звук, вот скрипт: using...

Воспроизведение музыки
пишет: неизвестное имя 'Media' это когда пытаюсь сделать муз.плеер

Воспроизведение музыки
Создал ресурсный файл, закинул туда mp3 файл дальше пишу 3 строчки QMediaPlayer* player = new QMediaPlayer(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru