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

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

Войти
Регистрация
Восстановить пароль
 
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
#1

потоки почему так происходит ? - C++

19.09.2012, 18:45. Просмотров 344. Ответов 3
Метки нет (Все метки)

Господа делаю воспроизведение основной музыки в программе , а затем в отдельный поток делаю воспроизвеление другого звука , так вот звук воспроизводится и гасит основную музыку , что я не так дулаю ?
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 <process.h>
 #include <stdio.h>
#include <windows.h>
 
 void MySound( void* pParams )
 {
       
PlaySoundA("1.wav", NULL, SND_FILENAME|SND_ASYNC|SND_LOOP);
 
 }
 
 int main()
 { 
 
PlaySoundA("Sound.wav", NULL, SND_FILENAME|SND_ASYNC|SND_LOOP);
 
 
_beginthread( MySound, 0, NULL );
 
system("pause");
 
 return 0;
 }
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2012, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос потоки почему так происходит ? (C++):

Перегрузка оператора.Почему так происходит? - C++
У нас есть перегрузка оператора. Digit operator-(const Digit &amp;N) { Digit temp; temp.dig=dig-N.dig; return temp; } ...

too few arguments to function. почему так происходит? - C++
всем привет, помогите разобраться с ошибкой #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;iomanip.h&gt; ...

Почему так происходит и как это устранить - C++
почему если я напишу вот так - #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { ...

Указатели: почему так происходит? Постфиксный и префиксный инкремент - C++
В общем, вот код программы double q; for (int i(0);i&lt;10;i++) { q=i; } cout&lt;&lt;q&lt;&lt;endl; double* d=q; cout&lt;&lt;d&lt;&lt;&quot;...

После 1-го цикла пропускается ввод adres, почему так происходит? - C++
#include&lt;iostream&gt; #include &lt;cstring&gt; using namespace std; struct anketa{ char fio; char adres; double year; ...

cannot convert `float' to `float*. Почему так происходит? - C++
всем привет, помогите исправить ошибки... а то голова мало варит уже, а завтра надо сдать уже #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
19.09.2012, 19:10 #2
Наверное, потому что PlaySoundA() не умеет микширование? Драйвер звука же понятия не имеет о потоках внутри процесса, для него звук подаётся из одного и того же процесса.

Шуршите WinAPI по ключевому слову mixer.
2
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
19.09.2012, 19:19  [ТС] #3
да но если сделать две отдельных программы воспроизводящие через PlaySound , то будет играться две мелодии , по ходу дела же это тоже 2 потока .
1
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23565 / 15559 / 4603
Регистрация: 22.10.2011
Сообщений: 27,590
Записей в блоге: 5
19.09.2012, 19:24 #4
Цитата Сообщение от Игорь с++ Посмотреть сообщение
по ходу дела же это тоже 2 потока
Это два процесса. Поток и процесс - не одно и то же.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2012, 19:24
Привет! Вот еще темы с ответами:

Почему происходит утечка? - C++
Проверяю через vld #include&lt;iostream&gt; #include&lt;vld.h&gt; using namespace std; int main() { char *st = new char; cin &gt;&gt;...

Почему происходит переполнение? - C++
Если диапазон float: -2 147 483 648.0 / 2 147 483 647.0, то почему происходит переполнение. Или это что-то другое? P.S.: тогда что...

Почему не происходит изменения - C++
Вот такой простой примерчик. #include &lt;iostream&gt; using namespace std; static int a = 0, b = 3; int change_a() { return ++a; }...

Почему так работает, а так нет? - C++
так работает // Возведение b в степень s по модулю m float powmod(float b, long s) { float c=1; while (s) {


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.09.2012, 19:24
Ответ Создать тему
Опции темы

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