Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
1

Функция PlaySound воспроизводит звук и возвращает управление СРАЗУ ЖЕ (но это неправильно), почему?

22.01.2012, 13:17. Показов 4040. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Друзья! Вот код:

C++
1
2
3
4
5
6
7
8
#include <windows.h>
#include <stdio.h>
 
int main (){
 PlaySound ("fail.wav", 0, SND_FILENAME || SND_SYNC);
 //getchar ();
 return 0;
}
Прога работает так: Звуковой файл воспроизводится, но управление СРАЗУ ЖЕ возвращается в программу, которая тут же заканчивается, вот и получается что звука-то никакого и нет, почему? Ведь использование SND_SYNC должно гарантировать, чт пока звук не проиграет, управление в программу не вернётся.
MSDN

"The sound is played synchronously, and PlaySound returns after the sound event completes. This is the default behavior."

++++++++++++++++++++++++++++++++++++

А звук проигрывается на самом деле, это видно если расскоментить getchar(); спасибо, кто откликнется.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2012, 13:17
Ответы с готовыми решениями:

PlaySound не воспроизводит звук
Есть код: (visual studio 2013) #include &lt;windows.h&gt; #include &lt;mmsystem.h&gt; #pragma...

PlaySound не воспроизводит нужный звук
Я пытаюсь научиться вставлять звук в программу. Покопался в интернете, нашел информацию про функцию...

не воспроизводит wav в PlaySound
Ошибок не возникает, но и звук не воспроизводит. Происходит стандартный системный щелчок....

Функция неправильно возвращает значение
double SparseMatrix::get(int i, int j)const { if (rows != nullptr &amp;&amp; cols != nullptr) {...

8
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
22.01.2012, 13:29 2
здесь ты найдешь ответы на свои вопросы))
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
22.01.2012, 13:36 3
PlaySound может урезать воспроизводимый размер. может слишком большой файл?
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
22.01.2012, 13:38  [ТС] 4
Нет, маленький, он пробный,
1,2Мб
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
22.01.2012, 13:39 5
маленький??? брат, это ОГРОМНЫЙ для PlaySound

Добавлено через 43 секунды
PlaySound используется для файлов до 100К
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
22.01.2012, 13:50  [ТС] 6
Возникают несколько вопросов:

C++
1
2
3
4
5
6
7
8
#include <windows.h>
#include <stdio.h>
 
int main (){
 PlaySound ("rrr.wav", 0, SND_FILENAME || SND_SYNC);
 getchar ();
 return 0;
}
1) Этот код обалденно воспроизводит *wav размером 10 метров, почему? (это я создавал в стандартной записывалке Windows, была бы возможность создать бОльший файл, создал бы больший)
2) Зачем такая функция нужна, которая не может воспроизвести несчастный 7-секундный файл?!

Впрочем, при ответе на следующий вопрос предыдущие два становятся просто пылью:
3) хотелось бы каких-нибудь документальных подтверждений размеров файла, по ссылке выше я ничё не нашёл, правда, у меня с английским плохо, но всё же.
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
22.01.2012, 13:54 7
http://msdn.microsoft.com/en-u... 85%29.aspx
PlaySound functions load an entire waveform-audio file into memory and, in effect, limit the size of the file they can play. Use sndPlaySound and PlaySound to play waveform-audio files that are small — up to about 100K
1
kravam
24.01.2012, 03:51  [ТС]
  #8

Не по теме:

Может, маленько не в тему, но это исходник превосходно справился и с большими и с маленькими файлами как mp3, так и wav
http://www.mailsend-online.com... ndows.html

0
Заблокирован
Автор FAQ
24.01.2012, 15:08 9
kravam, посмотри сюда SndPlaySound
2
24.01.2012, 15:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2012, 15:08
Помогаю со студенческими работами здесь

функция возвращает int, возвращаемые значения определены в макросах, как сразу выводить определённые макросы?
Друзья! Есть какой-нибудь способ без if-else? Ну то есть вот код: #define odin 1 ...

Звук в С++ PlaySound
Не робит #include &quot;stdafx.h&quot; #include &lt;SFML/Graphics.hpp&gt; #include &lt;SFML/Audio.hpp&gt; #include...

Почему функция всегда возвращает 0?
bool trie_tree::consonants_check(char letter) { return tolower(letter) == ('w' || 'r' || 't' ||...

Почему функция ничего не возвращает?
В общем пишу временный кастыль, который поможет преобразовать название страницы в нужный мне вид...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru