作者willy01 (網洋中的一條狗)
看板C_Sharp
標題[問題] Thread
時間Sat Dec 18 00:30:14 2010
最近開始接觸Thrad的部分
上網看一下資料就想說先打個小程式
想說打個音訊多重奏
就是先撥一首歌 然後不會停
然後這時在選第二首歌 也跟者唱 以此類推
就想說讓人感覺有很多個撥放器 一直大雜唱那樣
我先用一個class
static void Thread2()
{
System.Media.SoundPlayer sp2 = new System.Media.SoundPlayer(music_path);
sp2.Play();
}
然後在windowform打一個botton
private void button6_Click(object sender, EventArgs e)
{
Thread t = new Thread(Thread2);
t.Start(); // running WriteY()
}
可是我每次按一次 只能撥一首歌 想了很久 還是有點不清楚要怎麼多重奏
想請問大大有關實做的問題 謝謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.118.131
1F:推 QQ29:這應該不是用thread就能解決的 這API一次只能撥一個聲音 12/18 00:40
2F:→ QQ29:開Thread也沒用... 要找有沒有可以同時撥多個的API 12/18 00:41
3F:→ willy01:可以稍微問一下.....有這種撥放的api嗎? 12/18 00:42
4F:推 QQ29:我跟pc不熟耶 我摸到的silverlight 像是mediaelement一次就 12/18 00:47
5F:→ QQ29:只能撥一個 12/18 00:47
6F:→ QQ29:XNA有個SoundEffect就可以撥多個 PC版應該有 12/18 00:48
7F:→ QQ29:也不用開thread撥~ 12/18 00:49
8F:→ willy01:喔喔 沒有啦 因為是想說用有點類似平行的方式 12/18 00:51
9F:→ willy01:來實做這一次作業 12/18 00:51
10F:→ willy01:哭哭哩 已經把音訊處理加快加放編碼的處理做完 12/18 00:52
11F:→ willy01:結果發現作業最後的功能還是沒做出來 12/18 00:52
12F:→ willy01:真的沒法子用thread時做出多重湊的感覺 真g包 12/18 01:15
13F:推 QQ29:跟thread沒關係啊 你呼叫API 他可以撥聲音 下去也是async的 12/18 01:32
14F:→ willy01:恩 恩 好像真的需要其他的LIBARY 我現在正在載directX 12/18 01:38
15F:→ willy01:看能不能用directsound 去同時撥放兩個以上 12/18 01:39
16F:推 QQ29:xna可以找找看阿 應該xna4.0 pc板也有吧 dll拿進來用 12/18 01:57
17F:→ ideaup:each thread need different soundplayer 12/18 07:24
18F:→ willy01:樓上的大大 可以稍微解釋一下 有點看不懂~謝謝 12/18 07:36
19F:→ ideaup:static SoundPlayer sp[]; in Thread2() sp[j++]=new 12/18 11:14
20F:→ willy01:還是有點看不懂得說 不過我嘗試看看 謝謝~~感恩 12/18 14:40
21F:→ willy01:soundplayer 不是不可以宣告陣列? 12/18 14:44
22F:→ willy01:試了一下下 還是不行同時撥兩首以上的音樂 12/18 15:24
23F:推 QQ29:API不支援多個 怎麼開thread都一樣呀@@ 12/18 22:21
24F:→ willy01:恩恩~~thx 12/18 23:05
25F:→ willy01:原本還不信邪 搞得很久xdddd 12/18 23:06