Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 269
#1

Не работает PlaySound - C++

02.03.2013, 11:38. Просмотров 2186. Ответов 22
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <windows.h>
#include <string>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <mmsystem.h>
 
 using namespace std;
 
int main()
{
    
PlaySound("privet.wav", NULL, SND_ASYNC);
 
cout<<endl<<" До свиданья"<<endl;
 
 getch();
 
 return 0;
   
}
Пишет:
error C2664: PlaySoundW: невозможно преобразовать параметр 1 из "const char [11]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Подскажите люди добрые, что этому есть причина ?

Пробовал:
Решение №1:
Код C++
1
PlaySound(LPWSTR("C:\\Windows\\Media\\notify.wav"), NULL, SND_ASYNC);
Решение №2:
Код C++
1
PlaySound(String("C:\\Windows\\Media\\notify.wav").w_str() , NULL, SND_ASYNC);
Решение №3:
Код C++
1
PlaySound((wchar_t *)("C:\\Windows\\Media\\notify.wav"), NULL, SND_ASYNC);
Решение №4:
Код C++
1
PlaySoundA("C:\\Windows\\Media\\notify.wav", NULL, SND_ASYNC);

Без результата.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 11:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не работает PlaySound (C++):

playsound - C++
суть в том что куда бы я ни добавлял функцию playsound - окно не создается. музыка играет - а окна нет. так вот вопрос: Куда её надо...

PlaySound - C++
Всем день добрый. Не могу разобраться вот с чем: При использовании функции PlaySound, во время воспроизведения ресурса,...

PlaySound mp3 - C++
Можно ли с помощью функции PlaySound воспроизвести mp3 файл? Напишите пример воспроизведения файла 1.mp3 или 1.wav.

Playsound and Dev c++ - C++
господа не компилится такой код,библиотеку winmm.lib кинул в c:\dev-cpp\lib,вот код- #include &lt;windows.h&gt; #pragma comment(lib, &quot;winmm&quot;)...

PlaySound не воспроизводит звук - C++
Есть код: (visual studio 2013) #include &lt;windows.h&gt; #include &lt;mmsystem.h&gt; #pragma comment(lib,&quot;C:\\Windows\\System32\\winmm.dll&quot;) ...

Не играет музыка PlaySound() - C++
Вот пример из книги: /*------------------------------------------------------------ HELLOWIN.C -- Displays &quot;Hello, Windows 95!&quot; in...

22
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
15.10.2015, 09:31 #16
Что это? Что за чтение по адресам?
0
zorin_chel
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 10
15.10.2015, 19:21 #17
я пишу dll, которая аттачится к процессу и нужно, чтобы при определенном значении в определенном адресе проигрывалась музыка, а конкретно значение в адресе 0xBA68A5 == 0x00000022, если там другое значение, то звук должен останавливаться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream>
#include <windows.h>
#include <string>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm")
 
using namespace std; 
 
DWORD WINAPI GtaSA_thread (LPVOID);
 
 
 
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID ipReserved)
 
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread (NULL, NULL, GtaSA_thread, NULL, NULL, NULL);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return true;
}
 
 
 
 
 
 
DWORD WINAPI GtaSA_thread (LPVOID)
{
    DWORD*var = (DWORD*)0xBA68A5; 
    
    for (;;Sleep (100))
 
    {  
        
 
        
 
 
        if (*var == 0x00000022)
        {        
                    {
 
                    PlaySound("C:\\Games\\GTA2\\sound.WAV", NULL, SND_ASYNC);
                       while(1)
                       {
                       continue;
                       }
                       return 0;
                     }
        }else
      
                     {
                    PlaySound(NULL, NULL, SND_ASYNC);
                     }
 
      }
 
}
звук не останавливается
0
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
15.10.2015, 19:24 #18
Для чего 56-59? Это же бесконечный цикл.
0
zorin_chel
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 10
15.10.2015, 19:26 #19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <windows.h>
#include <string>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm")
 
using namespace std; 
 
DWORD WINAPI GtaSA_thread (LPVOID);
 
 
 
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID ipReserved)
 
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread (NULL, NULL, GtaSA_thread, NULL, NULL, NULL);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return true;
}
 
 
 
 
 
 
DWORD WINAPI GtaSA_thread (LPVOID)
{
    DWORD*var = (DWORD*)0xBA68A5; 
    
    for (;;Sleep (100))
 
    {  
        
        if (*var == 0x00000022)
        {        
                    PlaySound("C:\\Games\\GTA2\\sound.WAV", NULL, SND_ASYNC);
 
                   
                      
                    
        }else
      
                     {
                    PlaySound(NULL, NULL, SND_ASYNC);
                     }
 
      }
 
}
тоже не работает
0
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
15.10.2015, 19:39 #20
Проверяй, вызывается ли вообще функция и есть ли там 0x22. Sleep() внутрь цикла вставь. 100 не мало?
0
zorin_chel
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 10
15.10.2015, 19:45 #21
значение проверено, выводил на консоль и через Cheat Engine, и экспериментально (звук повторяется в меню, когда выхожу из меню звук пропадает), но проигрывается не постоянно, а начинается и заканчивается периодически ( for (;;Sleep (100)) ),
0
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
15.10.2015, 19:49 #22
Всё таки проигрывается? В чём проблема тогда?
0
zorin_chel
0 / 0 / 0
Регистрация: 11.10.2015
Сообщений: 10
15.10.2015, 20:34 #23
начинается и заканчивается периодически (т.е. на 1 сек. звучит, потом на 1 сек. останавливается и т.д.), а надо, чтобы проигрывался непрерывно, а при выходе из меню останавливался

Добавлено через 42 минуты
получилось!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <windows.h>
#include <string>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm")
 
using namespace std; 
 
DWORD WINAPI GtaSA_thread (LPVOID);
 
 
 
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID ipReserved)
 
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread (NULL, NULL, GtaSA_thread, NULL, NULL, NULL);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return true;
}
 
 
 
 
 
 
DWORD WINAPI GtaSA_thread (LPVOID)
{
    DWORD*var = (DWORD*)0xBA68A5; 
    for (;;Sleep (100))
 
    {  
        
        if (*var != 0x00000022)
        {        
                    PlaySound("C:\\Games\\GTA2\\sound.WAV", NULL, SND_ASYNC);
 
        }           
                      
    }   
                    
 
}
https://www.youtube.com/watch?v=-aUU0HboHuk&feature=youtu.be
0
15.10.2015, 20:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2015, 20:34
Привет! Вот еще темы с ответами:

PlaySound и куча ошибок впридачу - C++
Написал змейку , решил добавить в игру звуковые эффекты. На MSDN нашел функцию PlaySound. Подключил заголовки,подключил либу ..вот так...

PlaySound: что я делаю не так? - C++
Казалось бы, элементарно: PlaySound(&quot;1.wav&quot;, NULL, SND_FILENAME); Неизменно &quot;превосходный&quot; результат: Error C2664: 'PlaySoundW' :...

Опять исключения. Только теперь их вызывает PlaySound - C++
День всем добрый! Только захотел разукрасить свою программу, как наткнулся на очередную ошибку в виде исключения. Дело такое. Я...

playsound(), как сделать фоновую музыку в игре - C++
Есть игра. Есть звуки с использованием Beep()/ Нужна фоновая музыка. Читал что нашел - предлагают создать параллельный поток. Для меня это...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru