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

控制音量

答題得分者是:RedSnow
loveronan
一般會員


發表:16
回覆:16
積分:6
註冊:2004-05-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-03 16:42:49 IP:218.168.xxx.xxx 未訂閱
我照以下程式 void __fastcall TForm1::FormCreate(TObject *Sender) { DWORD volume; TrackBar1->Max=0xFFFF; TrackBar1->Position = waveOutGetVolume(0, &volume); TrackBar1->Position = LOWORD(volume); } void __fastcall TForm1::TrackBar1Change(TObject *Sender) { int value = (TrackBar1->Position); waveOutSetVolume(0, MAKELONG(value, value)); } 但是執行時出現以下錯誤訊息 Call to undefined function 'waveOutGetVolume' Call to undefined function 'waveOutSetVolume' 請教大大如何解決!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-03 17:17:50 IP:59.115.xxx.xxx 未訂閱
loveronan 您好:    應該是未 Include 對應的表頭檔所致,請加上下列的宣告:
#include 
7 天天敲鍵盤 v 時時按滑鼠 8
loveronan
一般會員


發表:16
回覆:16
積分:6
註冊:2004-05-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-03 21:26:56 IP:218.168.xxx.xxx 未訂閱
真是太謝謝你啦! 原來只要include進來就可以執行了! 抱歉我還是新手!
ys168
初階會員


發表:3
回覆:24
積分:25
註冊:2005-10-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-07-11 19:25:19 IP:59.117.xxx.xxx 未訂閱

// 這是我在別處取得程式如下: 一切OK !

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include
#include
#include
#include <Forms.hpp><br />#include
#include
#include
#include

//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TOpenDialog *OpenDialog1;
TMediaPlayer *MediaPlayer1;
TTimer *Timer1;
TTrackBar *TrackBar_Volume;
TProgressBar *ProgressBar1;
TLabel *Volume;
TLabel *Label1;
TButton *MiddleVolume;
TButton *MaxVolume;
TTrackBar *TrackBar_Balance;
TLabel *Label2;
void __fastcall Button1Click(TObject *Sender);
void __fastcall MediaPlayer1Click(TObject *Sender, TMPBtnType Button,
bool &DoDefault);
void __fastcall Timer1Timer(TObject *Sender);
void __fastcall TrackBar_VolumeChange(TObject *Sender);
void __fastcall TrackBar_BalanceChange(TObject *Sender);
void __fastcall MiddleVolumeClick(TObject *Sender);
void __fastcall MaxVolumeClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);

};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

//---------------------------------------------------------------------------

#include
#include
#pragma hdrstop

#include "Unit1.h"
#include // 新加入
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
DWORD OldVolume;
DWORD NewVolume;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
TrackBar_Volume->Max = 10;
TrackBar_Volume->Position = 10; //Set the Volume position to Maximum

TrackBar_Balance->Max = 10;
TrackBar_Balance->Position = 5; //Set the Balance position to the middle

// Set Volume level to maximum
NewVolume = 0xffffffff;
waveOutSetVolume(0, NewVolume );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if( OpenDialog1->Execute() )
{
MediaPlayer1->FileName=OpenDialog1->FileName;

try
{
MediaPlayer1->Open();
}
catch (...)
{
Application->MessageBox("Open File Exception :",
mtWarning,
MB_ICONWARNING | MB_OK);
}
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::MediaPlayer1Click(TObject *Sender,
TMPBtnType Button, bool &DoDefault)
{
if( Button == btPlay )
{
Timer1->Enabled = true;
}
else
{
if ( Button == btStop )
{
Timer1->Enabled = false;
}
}

DoDefault = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
ProgressBar1->Position = (TProgressRange)( MediaPlayer1->Position * 100 /
MediaPlayer1->Length );
if( ProgressBar1->Position == 100 )
{
Timer1->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar_VolumeChange(TObject *Sender)
{
int value = ( (float)TrackBar_Volume->Position /
(float)TrackBar_Volume->Max ) * (float)0xFFFF;

waveOutSetVolume( 0, MAKELONG(value, value) );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar_BalanceChange(TObject *Sender)
{
int middle_value = ( (float)TrackBar_Volume->Position /
(float)TrackBar_Volume->Max ) * (float)0xFFFF;

int value = ( (float)TrackBar_Balance->Position /
(float)TrackBar_Balance->Max ) * (float)0xFFFF;


if ( TrackBar_Balance->Position < 5 )
{
//Left channel: change low order word
waveOutSetVolume( 0, MAKELONG( middle_value, value ) );
}

if ( TrackBar_Balance->Position > 5 )
{
//Right channel: change high order word
waveOutSetVolume( 0, MAKELONG( TrackBar_Balance->Max - value,
middle_value ) );
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MiddleVolumeClick(TObject *Sender)
{
TrackBar_Volume->Position = TrackBar_Volume->Max/2;

int value = ( (float)TrackBar_Volume->Position /
(float)TrackBar_Volume->Max ) * (float)0xFFFF;

waveOutSetVolume( 0, MAKELONG(value, value) );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MaxVolumeClick(TObject *Sender)
{
TrackBar_Volume->Position = TrackBar_Volume->Max;

int value = ( (float)TrackBar_Volume->Position /
(float)TrackBar_Volume->Max ) * (float)0xFFFF;

waveOutSetVolume( 0, MAKELONG(value, value) );
}
//---------------------------------------------------------------------------

------
yangshuh
系統時間:2024-04-27 8:43:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!