Форум программистов, компьютерный форум CyberForum.ru

Программа воспроизводящая звуки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.67
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 15:32     Программа воспроизводящая звуки #1
хочу,чтобы программка заставила системный динамик "запеть"
я где-то слышала об этом и даже видела как это реализовать, но к сожалению забыла источник, подкинте, пожалуйста, кому это знакомо литературу!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
28.05.2010, 15:33     Программа воспроизводящая звуки #2
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main ()
{
    std::cout << "\a";
    return 0;
}
?)
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 15:41  [ТС]     Программа воспроизводящая звуки #3
neske, ну это понятно!!!!!
там, на сколько я помню, есть определенный тип переменных. И при инициализации массива этого типа задаются частоты и длительность, не и там еще какие-то ф-ции есть))
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
28.05.2010, 16:08     Программа воспроизводящая звуки #4
Насчёт типа переменных не знаю но в stdlib.h есть функции sound(), nosound() для управления системным динамиком. sound() принимает частоту звука и генерирует звук такой частоты, а nosound() останавливает звук. Используя между этими функциями фукцию задержки, например delay(), можно получить звук определённой частоты и длительности.

Добавлено через 56 секунд
Вот, в общем-то, и вся литература.)
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 16:12  [ТС]     Программа воспроизводящая звуки #5
vladislavchick, спасибо, но это немножко не то...эх...
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
28.05.2010, 16:13     Программа воспроизводящая звуки #6
... Уж, чем богат...
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 16:14  [ТС]     Программа воспроизводящая звуки #7
vladislavchick, и на этом спасибо
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
28.05.2010, 16:14     Программа воспроизводящая звуки #8
Но, думаю этого вполне хватит.
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 16:18  [ТС]     Программа воспроизводящая звуки #9
vladislavchick, но чтобы написать какую-то простенькую мелодию нужно много раз вызывать эти ф-ции для каждого звука, это громоздко, да и как подобрать частоту, какие у этих ф-ций аргументы?
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
28.05.2010, 16:25     Программа воспроизводящая звуки #10
у sound() аргумент частота в Гц, у nosound() аргументов нет.
Ну для начала можно эти 3 команды в функцию упаковать:
C++
1
2
3
4
5
void getsound(unsigned frequency, unsigned durationms) {
    sound(frequency);
    delay(durationms);
    nosound();
}
Теперь команд будет гораздо (а точнее - в 3 раза) меньше.)))

Добавлено через 2 минуты
Кстати, давно хотел написать функцию вроде оператора PLAY в Бейсике, но всё как-то руки не доходят.
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 16:26  [ТС]     Программа воспроизводящая звуки #11
а у ф-ции delay() аргумент длительности? если да то в чем?

а точно библиотека stdlib.h???
vladislavchick
35 / 35 / 1
Регистрация: 22.05.2010
Сообщений: 107
28.05.2010, 17:28     Программа воспроизводящая звуки #12
Простите, ошибся. Не stdlib.h a dos.h. У функции delay() аргумент в милисекундах (1/1000 секунды).
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
28.05.2010, 18:59  [ТС]     Программа воспроизводящая звуки #13
vladislavchick, угу, спасибо, будем пробовать
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
29.05.2010, 19:18  [ТС]     Программа воспроизводящая звуки #14
не компилируется

C++
1
2
3
4
5
6
7
8
9
10
11
#include<iostream.h>
#include<dos.h>
main ()
{
     int a,b;
     cin>>a,b;
    sound(a);
    delay(b);
    nosound();
    return 0;
}
пишет ошибку о ф-циях,что они не объявлены...а библиотека точно dos.h?)))
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.05.2010, 20:13     Программа воспроизводящая звуки #15
sound(a);
delay(b);
nosound();
Ввроде как не поддерживаются виндами, это только если старый Turbo C запустить.
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
29.05.2010, 22:42  [ТС]     Программа воспроизводящая звуки #16
kazak,
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 22:56     Программа воспроизводящая звуки #17
попробуйте так:
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
#include <windows.h>
 
int main()
{
   for(int i = 0; i < 2; ++i) {
      Beep(400, 500);   // ля
      Beep(320, 500);   // ми
   }
 
   Beep(400, 500);      // ля
   Beep(380, 500);      // ля бемоль
   Beep(380, 500);     // ля бемоль
   
   Sleep(10);           // пауза
 
   for(int i = 0; i < 2; ++i) {
      Beep(380, 500);   
      Beep(320, 500);
   }
 
   Beep(380, 500);
   Beep(400, 500);
   Beep(400, 500);
}
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
30.05.2010, 00:27  [ТС]     Программа воспроизводящая звуки #18
fasked,
да-да...вот такое вот я видела!!! спасибо огромнейшое...
А можете литературу по этому дать или маленький инструктаж провести, какие ф-ции есть и как ими пользоваться??
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.05.2010, 10:41     Программа воспроизводящая звуки #19
Цитата Сообщение от Sura Посмотреть сообщение
А можете литературу по этому дать или маленький инструктаж провести, какие ф-ции есть и как ими пользоваться??
я только эту функцию и знаю. Beep. Первое значение - частота, на которой будет звучать динамик, а вторая время звучания
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2010, 12:06     Программа воспроизводящая звуки
Еще ссылки по теме:

C++ Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
C++ Программа , которая выводит время, за которое программа работает

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

Или воспользуйтесь поиском по форуму:
Sura
 Аватар для Sura
6 / 6 / 0
Регистрация: 23.05.2010
Сообщений: 87
30.05.2010, 12:06  [ТС]     Программа воспроизводящая звуки #20
то есть Beep(), Sleep() и все??))))) круто
Yandex
Объявления
30.05.2010, 12:06     Программа воспроизводящая звуки
Ответ Создать тему
Опции темы

Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru