Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/120: Рейтинг темы: голосов - 120, средняя оценка - 4.90
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1

Как задать звук в консоли

05.10.2011, 09:33. Показов 22829. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не как не могу найти функцию которая воспроизводить стандартный звук из колонок
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.10.2011, 09:33
Ответы с готовыми решениями:

Как задать положение консоли с++
Я долго искал способ(на этом форуме и не только) как сделать, так чтобы консоль открывалась в верхнем левом углу и на весь экран. Способ...

Снимать звук с микрофона и воспроизводить звук из консоли
Гуру, подскажите, тяжело ли подобное? Накапливать в буферах, обрабатывать и воспроизводить измененное... В делфи когда-то подбное...

Как задать размер окна консоли (Windows)?
Хочу что-бы при запуске кода в консоли, окно консоли принимало статичный указанный размер в количестве символов, например 100х50.

11
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
05.10.2011, 10:28
C
1
printf("\a");
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
05.10.2011, 14:13
Цитата Сообщение от Sylar9 Посмотреть сообщение
Не как не могу найти функцию которая воспроизводить стандартный звук из колонок
- решил привести пример игры системным динамиком Beep, звука от системы MessageBeep (тут уже внешние динамики нужны) а также проигрывания медиа-файла который выбираем на жестком
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
#include <windows.h>
#include <shlobj.h>  //Диалог выбора файла
#include <mmsystem.h>//sndPlaySound
#include <stdio.h>
#include <conio.h>   //getch
 
#pragma comment(lib,"winmm.lib")//sndPlaySound
 
char * SelFile(HWND hWnd);
 
 
int main()
{
    printf("Beep - direct system dynamic play\r\n");
    const DWORD note[] = {
            0x11, 0x22, 0xF2, 0x2F, 0xAA, 0xBB, 0xCC, 0xEE, 0x29, 0x19, 0xFF
     };
    //Возможности Beep
    for(int i = 0; i < sizeof(note) / sizeof(DWORD); i++)
         Beep(note[i], 500U);
    char szFilePath[256];
    HWND hWnd = GetForegroundWindow();//Находим дескриптор окна консоли
    do
    {
        if(!strcpy(szFilePath,SelFile(hWnd)))
            printf("File not selected\r\n");
        else
        {
            //Возможности MessageBeep
            //Можно использоовать также
            //MB_ICONHAND
            //MB_ICONQUESTION
            //MB_ICONEXCLAMATION
            //MB_ICONASTERISK
            printf("MessageBeep - system exclamation\r\n");
            system("pause");
            MessageBeep(MB_ICONEXCLAMATION);
            
            printf("sndPlaySound - playing file on hard disk\r\n");
            system("pause");
            sndPlaySound(szFilePath,SND_ASYNC);
        }
        printf("Press Y for new selection\r\n");
    }
    while(toupper(getch()) == 'Y');
    system("pause");
    return 0;
}
 
char * SelFile(HWND hWnd)
{
    ShowWindow(hWnd,SW_HIDE);
    char sPath[MAX_PATH];sPath[0] = '\0';
    LPCITEMIDLIST lpItemDList;
    BROWSEINFO bi = {NULL, NULL, sPath,
       "Выберите медиа файл",
        BIF_DONTGOBELOWDOMAIN|BIF_BROWSEINCLUDEFILES,
        NULL,
        NULL,
        0
    };
    if((lpItemDList = SHBrowseForFolder(&bi)))
    {
        if(SHGetPathFromIDList(lpItemDList, sPath))
            GetShortPathName((LPCTSTR)sPath,sPath,strlen(sPath));
    }
    ShowWindow(hWnd,SW_SHOW);
    return &sPath[0];
}
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
05.10.2011, 14:56  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- решил привести пример игры системным динамиком Beep, звука от системы MessageBeep (тут уже внешние динамики нужны) а также проигрывания медиа-файла который выбираем на жестком
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
#include <windows.h>
#include <shlobj.h>  //Диалог выбора файла
#include <mmsystem.h>//sndPlaySound
#include <stdio.h>
#include <conio.h>   //getch
 
#pragma comment(lib,"winmm.lib")//sndPlaySound
 
char * SelFile(HWND hWnd);
 
 
int main()
{
    printf("Beep - direct system dynamic play\r\n");
    const DWORD note[] = {
            0x11, 0x22, 0xF2, 0x2F, 0xAA, 0xBB, 0xCC, 0xEE, 0x29, 0x19, 0xFF
     };
    //Возможности Beep
    for(int i = 0; i < sizeof(note) / sizeof(DWORD); i++)
         Beep(note[i], 500U);
    char szFilePath[256];
    HWND hWnd = GetForegroundWindow();//Находим дескриптор окна консоли
    do
    {
        if(!strcpy(szFilePath,SelFile(hWnd)))
            printf("File not selected\r\n");
        else
        {
            //Возможности MessageBeep
            //Можно использоовать также
            //MB_ICONHAND
            //MB_ICONQUESTION
            //MB_ICONEXCLAMATION
            //MB_ICONASTERISK
            printf("MessageBeep - system exclamation\r\n");
            system("pause");
            MessageBeep(MB_ICONEXCLAMATION);
            
            printf("sndPlaySound - playing file on hard disk\r\n");
            system("pause");
            sndPlaySound(szFilePath,SND_ASYNC);
        }
        printf("Press Y for new selection\r\n");
    }
    while(toupper(getch()) == 'Y');
    system("pause");
    return 0;
}
 
char * SelFile(HWND hWnd)
{
    ShowWindow(hWnd,SW_HIDE);
    char sPath[MAX_PATH];sPath[0] = '\0';
    LPCITEMIDLIST lpItemDList;
    BROWSEINFO bi = {NULL, NULL, sPath,
       "Выберите медиа файл",
        BIF_DONTGOBELOWDOMAIN|BIF_BROWSEINCLUDEFILES,
        NULL,
        NULL,
        0
    };
    if((lpItemDList = SHBrowseForFolder(&bi)))
    {
        if(SHGetPathFromIDList(lpItemDList, sPath))
            GetShortPathName((LPCTSTR)sPath,sPath,strlen(sPath));
    }
    ShowWindow(hWnd,SW_SHOW);
    return &sPath[0];
}
У меня ошибку выбвает при компиляции вот ошибка fatal error C1010: unexpected end of file while looking for precompiled header directive
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
05.10.2011, 15:21
Цитата Сообщение от Sylar9 Посмотреть сообщение
У меня ошибку выбвает при компиляции вот ошибка fatal error C1010: unexpected end of file while looking for precompiled header directive
- проект 100% компилируется и работает тоже, значит дело в компиляторе - в чём пишем???
Log Debug
Deleting intermediate files and output files for project 'snd - Win32 Debug'.
--------------------Configuration: snd - Win32 Debug--------------------
Compiling...
snd.cpp
Linking...
Creating browse info file...

snd.exe - 0 error(s), 0 warning(s)
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
06.10.2011, 08:33  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- проект 100% компилируется и работает тоже, значит дело в компиляторе - в чём пишем???
Log Debug
Deleting intermediate files and output files for project 'snd - Win32 Debug'.
--------------------Configuration: snd - Win32 Debug--------------------
Compiling...
snd.cpp
Linking...
Creating browse info file...

snd.exe - 0 error(s), 0 warning(s)
В майкрософт визал 6,0 с++
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
06.10.2011, 09:31
Цитата Сообщение от Sylar9 Посмотреть сообщение
В майкрософт визал 6,0 с++
, это проект написан именно в 6-ке, единственным моим предположением является отсутствие в вашей инсталляции каких либо библиортек, как вариант давайте попробуем вычленить ошибку, предлагаю последовательно провести компиляцию частей программы, на каком то этапе у вас появиться ваш зловещий fatal error C1010 - я конечно грешу что при копипасти кода вы скобочку потеряли(ну не докопировали - ошибка на данный вариант похожа), тем не менее запишите код так
Beep
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <windows.h>
#include <stdio.h>
 
int main()
{
    printf("Beep - direct system dynamic play\r\n");
    const DWORD note[] = {
            0x11, 0x22, 0xF2, 0x2F, 0xAA, 0xBB, 0xCC, 0xEE, 0x29, 0x19, 0xFF
     };
    //Возможности Beep
    for(int i = 0; i < sizeof(note) / sizeof(DWORD); i++)
         Beep(note[i], 500U);
    system("pause");
    return 0;
}

Log Debug, всё работает
Deleting intermediate files and output files for project 'snd2 - Win32 Debug'.
--------------------Configuration: snd2 - Win32 Debug--------------------
Compiling...
snd2.cpp
Linking...

snd2.exe - 0 error(s), 0 warning(s)


Добавлено через 2 минуты
Затем проверим MessageBeep
только MessageBeep
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <windows.h>
#include <stdio.h>
 
int main()
{
    //Возможности MessageBeep
            //Можно использоовать также
            //MB_ICONHAND
            //MB_ICONQUESTION
            //MB_ICONEXCLAMATION
            //MB_ICONASTERISK
            printf("MessageBeep - system exclamation\r\n");
    system("pause");
    MessageBeep(MB_ICONEXCLAMATION);
    system("pause");
    return 0;
}

Лог Debug тотже
Ну и затем когда вы всё скомпилируете, я введу в проект диалог выбора файла и проигрывание медиа файлов на жёстком
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
06.10.2011, 10:37
Ох... #include "stdafx.h"
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
07.10.2011, 16:59  [ТС]
Цитата Сообщение от Sylar9 Посмотреть сообщение
У меня ошибку выбвает при компиляции вот ошибка fatal error C1010: unexpected end of file while looking for precompiled header directive
У меня он скомпилировалося а что она ваше должна делать???
0
07.10.2011, 17:02

Не по теме:

Цитата Сообщение от Sylar9 Посмотреть сообщение
У меня он скомпилировалося а что она ваше должна делать???
- на выполнение запустите и вслушайтесь в звуки из динамиков и спикера системника;)

0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
07.10.2011, 17:05  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- на выполнение запустите и вслушайтесь в звуки из динамиков и спикера системника;)

Ну да мелодия играет. а потом она предлогает выбрать файл. Я выбираю но нечего не происходит???
0
07.10.2011, 18:10

Не по теме:

Цитата Сообщение от Sylar9 Посмотреть сообщение
Ну да мелодия играет.
- это же как раз по заданию, что ещё надобно:scratch:
Цитата Сообщение от Sylar9 Посмотреть сообщение
Я выбираю но нечего не происходит???
а с этим как и обещал выше попробую разобраться т.к подозреваю
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
единственным моим предположением является отсутствие в вашей инсталляции каких либо библиортек

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.10.2011, 18:10
Помогаю со студенческими работами здесь

Как задать цвет одного символа в консоли?
итак рисую символ cor.X = (SHORT)j; cor.Y = (SHORT)i; SetConsoleCursorPosition(hConsole,cor); ...

Как задать максимальную длину символов в строке консоли?
В настройках спайдера можно задавать количество строк, которое будет отображаться в консоли. Как задать максимальную длину символов в...

Как задать фиксированный размер консоли для приложения?
Объясните, почему пользуясь методом Console.SetWindowSize (Int32, Int32) - окно уменьшается, но фактически) То есть появляются...

Как задать путь для открываемого файла в консоли
Задача следующая: Пользователь должен запустить консольное приложение, после чего он получит сообщение: Console.WriteLine(&quot;Введите...

Как можно задать несколько дат с консоли для дальнейших действий с ними?
Сидел думал, но никак в голову не приходит. В общем, условие заключается в том, что есть структура с полем &quot;дата_заказа&quot;. Далее...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru