2009-11-19 46 views
1

我想添加一個不尋常的功能到一個網站,可以讓用戶播放聲音......一個採樣筆記。當用戶移動滑塊控件時,聲音會以音調(無縫地)上升或下降。所以,當用戶將按鈕向右滑動時,聲音會在音高上升,當向左移動時,音高會下降(從女高音到低音)。 有誰知道這可以實現?你會使用什麼樣的聲音文件,如何讓它連續播放(當按下按鈕時)並改變音高(當滑塊被移動時)? 這不是真的語言特定 - 它可能是php或flex。 在此先感謝。西蒙......向網站添加滑動聲音

========================================= ====== 更多信息

看來最好的解決方案可能涉及類似C或C#或C++的東西。不幸的是,我對這些語言的經驗很少。任何人都可以告訴我是否有可能在C中實現這一點? 謝謝。

回答

0

您需要一個客戶端插件才能在瀏覽器中完成此項工作,Silverlight,Flex或Flash很可能是您的最佳/唯一選項。

在一個網站上,對硬件的訪問有限,如果不是不可能的話,你想要做的事情將很難。你最好的選擇是有很多音頻文件(對於你想要的每個音符/音調),並讓滑動控件播放不同的文件。

您可能想要使用隊列和不同音頻文件的數組。

如果隊列中的下一項與第一項不同,請播放它,如果隊列爲空,請繼續播放最後一個文件。然後在「滑塊」事件中,您將排隊下一個文件。

如果您正在運行本機應用程序,那麼您將擁有對聲音硬件的更多控制權,並且可能會創建此效果,而無需爲要播放的每個音符/音高設置一個mp3。

+0

感謝您的想法......我並非完全想到任何特定技術解決方案的想法。 你能告訴我你的意思是「本地應用程序」嗎? 我不認爲每個音符都有單獨的聲音的想法會起作用(因爲聲音需要通過音高滑動),所以如果有不同語言的解決方案,那就太好了。 再次感謝, 西蒙... – swiltshire 2009-11-20 09:09:35

+0

當我說一個本地應用程序,我的意思是一個exe文件,用戶可以在本地運行。 C++,C#,Java等,可以直接訪問Windows API和硬件。 – Nate 2009-11-21 18:58:34

0

爲了實現你想要的,你需要特定的音頻處理工具,大多數網絡應用程序都無法訪問。 我建議你看看Flex和Alchemy。鍊金允許你調用c或C++,它可以讓你使用不同的c濾鏡來轉換聲音。

我知道這不是不可能的......只是不那麼容易:)好運。


阿德里安

2

有這些傢伙「Sonoflash」誰是純粹的ActionScript3生成的音頻做得非常有趣的事情 - 換言之,沒有外部聲音文件必要。

以下是Adobe Platform Evangelist Ryan Stewart對他們採訪的一個鏈接。我懷疑你可以使用這個AS3庫來得到你需要的東西。

http://blog.digitalbackcountry.com/2009/09/sonoflash-easily-add-sound-to-your-flash-apps/

+0

+1這非常接近我以爲你可以用本地應用程序做的事情,但我沒有意識到它現在可以使用Flash10。 – Nate 2009-11-21 19:04:51

0

有絕對不是一個PHP的解決方案,比呼應HTML調用客戶端程序等。

當然,你可以使用Flash或Flex ..但你有沒有嘗試JavaScript的鼠標事件?

例如:

<img src="buttonImageFilename" 
onMouseDown="handlePress();return true;" 
onMouseUp="handleRelease();return true;" 
onMouseOut="handleRelease();return true;" 
onClick="return false;" 
> 

老實說,通常需要它的錯誤我只要Flash被拋向四周以來的環境對象包裝第一個解決方案來呈現它。 (你有沒有看到Flash10和CPU佔用的問題??)

很多時候對於簡單的東西JavaScript的工作很好。

+0

關於C#/ C++要求 - 這與在網頁上工作有什麼關係?您是否試圖在網頁或獨立應用程序上構建小部件?許多語言都模仿C語法,但具體而言,C通常用於應用程序,而不是網頁。 – 2009-11-20 09:59:00