Russian Qt Forum

Qt => Общие вопросы => Тема начата: Noize_programmer от Июнь 23, 2023, 17:24



Название: помогите пожалуйста (game dev)(music)
Отправлено: Noize_programmer от Июнь 23, 2023, 17:24
проект: https://github.com/SpeechKingV/guess_the_number__with_graphics

подскажите как можно воспроизвести музыку (средствами с++)(для windows 10)
(мелодию для проекта ещё не создал)
я пытался так:

Код:
// это  в https://github.com/SpeechKingV/guess_the_number__with_graphics/blob/main/Menu_games.cpp

#include <windows.h>
#include <conio.h>
#include <mmsystem.h>//sndPlaySound
#include <stdio.h>
#include <tchar.h>
#pragma comment(lib, "winmm.lib")

// это в конструкторе

    if(!settings[1]) // включена ли музыка(в настройках игры)
    {
        wchar_t path[]=L"1.wav";
            PlaySound(path, NULL, SND_FILENAME);
    }

 :'( :-[ :( :'( :-[ :(

но выдаёт ошибки:

это вроде из-за ошибки линковки

Menu_games.cpp:29: ошибка: undefined reference to `__imp_PlaySoundW'
debug/Menu_games.o: In function `MenuGames::MenuGames(QWidget*)':
Menu_games.cpp:29: undefined reference to `__imp_PlaySoundW'

:-1: ошибка: collect2.exe: error: ld returned 1 exit status


:-1: ошибка: [Makefile.Debug:89: debug/guess_the_number__with_graphics.exe] Error 1

и предупреждение:

Menu_games.cpp:17: предупреждение: ignoring #pragma comment  [-Wunknown-pragmas]
Menu_games.cpp:17:0: warning: ignoring #pragma comment  [-Wunknown-pragmas]
 #pragma comment(lib, "winmm.lib")


и подскажите пожалуйста
как програмно изменить звук
всей системмы
(средствами с++)(для windows 10)


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: kambala от Июнь 23, 2023, 23:33
тебе надо слинковаться с winmm.lib другим способом (зависит от системы сборки), раз вылезает предупреждение unknown-pragmas. Для pro файла это будет
Код:
LIBS += winmm
а вообще звук можно играть и средствами Qt: https://doc.qt.io/qt-5/qsound.html либо https://doc.qt.io/qt-5/qmediaplayer.html


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: Noize_programmer от Июнь 24, 2023, 13:55
тебе надо слинковаться с winmm.lib другим способом (зависит от системы сборки), раз вылезает предупреждение unknown-pragmas. Для pro файла это будет
Код:
LIBS += winmm
а вообще звук можно играть и средствами Qt: https://doc.qt.io/qt-5/qsound.html либо https://doc.qt.io/qt-5/qmediaplayer.html

средствами Qt мне не доступно т.к у меня версия community

попробовал LIBS += winmm пишет в ошибках:

:-1: ошибка: error: winmm: No such file or directory

:-1: ошибка: [Makefile.Debug:89: debug/guess_the_number__with_graphics.exe] Error 1


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: kambala от Июнь 24, 2023, 21:32
ошибся, правильно
Код:
LIBS += -lwinmm


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: Noize_programmer от Июнь 25, 2023, 12:11
ошибся, правильно
Код:
LIBS += -lwinmm
спасибо ошибки исправились  :D


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: Noize_programmer от Июнь 26, 2023, 11:52
ошибся, правильно
Код:
LIBS += -lwinmm
спасибо ошибки исправились  :D
но звук не воспроизводиться


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: kambala от Июнь 26, 2023, 15:29
где открыли карту нашли инструкцию, туда и идите

это вопрос чисто по WinAPI, к Qt никакого отношения не имеет


Название: Re: помогите пожалуйста (game dev)(music)
Отправлено: Noize_programmer от Июнь 27, 2023, 13:38
где открыли карту нашли инструкцию, туда и идите

это вопрос чисто по WinAPI, к Qt никакого отношения не имеет
ок