線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5035
推到 Plurk!
推到 Facebook!

有關電子琴的遊戲

答題得分者是:RaynorPao
jenwe
一般會員


發表:34
回覆:38
積分:24
註冊:2007-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-21 18:36:01 IP:140.118.xxx.xxx 訂閱
請問有關於電子琴~
如果以~每個物件~叫取一個聲音檔~~
還是會有延遲到~

是否有其他的方式~可以使用類似API的方式~去呼叫出琴音的DO RI MI~~呢?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-22 13:09:26 IP:220.130.xxx.xxx 未訂閱
不知道你是用什麼方式播放檔案,所以假設你是用PlaySound,並試試改用從記憶體播放的方式,看會不會有所改善?
範例程式碼如下,請依照需求自行修改:


[code cpp]
// Unit1.h
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include
#include
#include
#include <Forms.hpp><br />//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TButton *Button2;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
private: // User declarations
TMemoryStream *ms;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
__fastcall ~TForm1();
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
[/code]


[code cpp]
// Unit1.cpp
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "Unit1.h"
#include "mmsystem.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ms=NULL;
ms=new TMemoryStream;
ms->LoadFromFile("C:\\WINNT\\Media\\Windows 登入音效.wav");
}
//---------------------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
if(ms!=NULL)
{
delete ms;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// 從檔案播放
PlaySound("C:\\WINNT\\Media\\Windows 登入音效.wav", NULL, SND_FILENAME);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
// 從記憶體播放
PlaySound((BYTE*)ms->Memory, NULL, SND_MEMORY);
}
//---------------------------------------------------------------------------
[/code]
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
編輯記錄
RaynorPao 重新編輯於 2008-01-22 13:17:00, 註解 無‧
RaynorPao 重新編輯於 2008-01-22 13:19:51, 註解 無‧
jenwe
一般會員


發表:34
回覆:38
積分:24
註冊:2007-03-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-24 15:40:13 IP:140.118.xxx.xxx 訂閱
我把檔案用成我要撥放的聲音~
出現的聲音卻是像滑鼠點到不該點的地方~~"登""登""登""登"
怎麼會這樣阿
系統時間:2024-05-08 19:31:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!