亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? soundmixercontainer.cpp

?? A sound mixer example in Symbian OS, see readme.txt for details
?? CPP
字號:
   /*
    *
============================================================================
    *  Name     : SoundMixerContainer.cpp
    *  Part of  : SoundMixer
    *  Created  : 03/01/2003 by Forum Nokia
    *  Description:
    *     This is the project specification file for SoundMixer.
    *
    *  Version  : 1.0.0
    *  Copyright: Forum Nokia
    *
============================================================================
    */


#include "SoundMixerContainer.h"
#include <eikenv.h>
#include "CSndMixer.h"
#include "CWavLoader.h"

void CSoundMixerContainer::ConstructL(const TRect& aRect)
    {

	// load sound samples
	CWavLoader* wavLoader = CWavLoader::NewLC();

	iMusicSample = wavLoader->LoadL(_L("music2.wav") );
	iEffectSample = wavLoader->LoadL( _L("effect.wav") );
	iEffectSample2 = wavLoader->LoadL( _L("effect2.wav") );

	CleanupStack::PopAndDestroy( wavLoader );

	// create sound mixer
	iSndMixer = CSndMixer::NewL();

	// make iMusicSample repeat itself
	iMusicSample.iRepEnd = iMusicSample.iLength;

	// and play music on channel 0 at 16KHz with volume 256 ( max )
	iSndMixer->Play( iMusicSample, 0, 16000, 256 );

    CreateWindowL();

	// create periodic timer to move blocks
    iTimer = CPeriodic::NewL( EPriorityNormal );

	// initial positions and speeds for blocks
	TInt i;
	for( i=0; i<8; i++ )
		{
		iSpeed[ i ] = TPoint( ( i & 3 ) -1, ( ( i+2 ) & 3 ) -1 );
		iPosition[ i ] = TPoint( 10 + i * 10, 100 );
		}

    SetRect( aRect );
    ActivateL();

	// make this class observe changes is foreground events
	// to stop blocks and sound when application is inactive
	CEikonEnv::Static()->AddForegroundObserverL( *this );
    }

CSoundMixerContainer::~CSoundMixerContainer()
    {
	iTimer->Cancel();
	delete iTimer;

	delete iSndMixer;
	delete iMusicSample.iData;
	delete iEffectSample.iData;
	delete iEffectSample2.iData;
    }

TKeyResponse CSoundMixerContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
	{
	// here's the place for getting key events

	// set volume control to joystick's left / right
	if( aType == EEventKeyDown )
		{
		if( aKeyEvent.iScanCode == EStdKeyLeftArrow )
			{
			VolumeDown();
			}
		if( aKeyEvent.iScanCode == EStdKeyRightArrow )
			{
			VolumeUp();
			}
		}
	return EKeyWasConsumed;
	}


TInt CSoundMixerContainer::TimerCallBack( TAny* aPtr )
	{
	return ((CSoundMixerContainer*)aPtr)->DoTimer();
	}

TInt CSoundMixerContainer::DoTimer()
	{
	// here's everything moving and sounding

	// get gc to draw with
	CWindowGc& gc = SystemGc();

	gc.Activate( Window() );
	gc.Clear();
	gc.SetPenStyle(CGraphicsContext::ENullPen);
    gc.SetBrushColor( TRgb( 255,0,0 ) );
    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );


	for( TInt i=0; i<8; i++ )
		{
		TBool edgeCollide = EFalse;	// flag for boxes colliding against walls
		TBool boxCollide = EFalse;	// flag for boxes colliding each other

		TPoint& pos = iPosition[ i ];
		TPoint& spd = iSpeed[ i ];

		// move blocks
		pos += spd;

		TRect rect = Rect();

		// check box collide against walls
		if( ( pos.iX+8 >= rect.iBr.iX ) || ( pos.iX <= rect.iTl.iX ) )
			{
			spd.iX = -spd.iX;
			pos += spd;
			edgeCollide = ETrue;
			}

		if( ( pos.iY+8 >= rect.iBr.iY ) || ( pos.iY <= rect.iTl.iY ) )
			{
			spd.iY = -spd.iY;
			pos += spd;
			edgeCollide = ETrue;
			}


		// check box collide against each other
		TRect boxRect( pos, TSize( 8,8 ) );
		for( TInt j=0; j<8; j++ )
			{
			TRect boxRect2( iPosition[ j ], TSize( 8,8 ) );
			if( ( i != j ) && ( boxRect.Intersects( boxRect2 ) ) )
				{
				spd.iY = -spd.iY;
				spd.iX = -spd.iX;
				boxCollide = ETrue;
				}
			}

		// play sounds if collide
		if( edgeCollide )
			{
			iSndMixer->Play( iEffectSample, 1 + i, 8000 + i * 1000, 32 );
			}

		if( boxCollide )
			{
			iSndMixer->Play( iEffectSample2, 1 + i, 8000 + i * 1000, 32 );
			}


		// draw current box
		gc.DrawRect( boxRect );

		}

	gc.Deactivate();
	return ETrue;
	}


void CSoundMixerContainer::HandleGainingForeground()
	{
	// application gets focused
	// this function is called first time when application starts
	// that's why there's no need to start timer and sound in constructor

	iTimer->Start( 10000, 10000, TCallBack( TimerCallBack, this ) );
	iSndMixer->Resume();
	}

void CSoundMixerContainer::HandleLosingForeground()
	{
	// application loses focus
	// so stop moving blocks and playing sound

	iTimer->Cancel();
	iSndMixer->Pause();
	}


void CSoundMixerContainer::StartMixer()
	{
	iSndMixer->Resume();
	}

void CSoundMixerContainer::StopMixer()
	{
	iSndMixer->Pause();
	}

void CSoundMixerContainer::VolumeUp()
	{
	TInt volume = iSndMixer->Volume();
	volume += 20;
	if( volume > 255 ) volume = 255;
	iSndMixer->SetVolume( volume );
	}

void CSoundMixerContainer::VolumeDown()
	{
	TInt volume = iSndMixer->Volume();
	volume -= 20;
	if( volume < 0 ) volume = 0;
	iSndMixer->SetVolume( volume );
	}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品高清不卡| 亚洲一区二区综合| 国产精品成人免费| 视频一区中文字幕国产| 国产99久久久久| 91精品国产91热久久久做人人| 国产日韩欧美制服另类| 日韩国产在线一| 91麻豆福利精品推荐| 久久精品一区二区| 青青草国产成人99久久| 91福利精品视频| 久久精品欧美一区二区三区麻豆 | 色中色一区二区| 亚洲精品一区二区在线观看| 亚洲成人免费影院| 91麻豆高清视频| 国产精品久久毛片a| 亚洲成人av电影| 国产精品天干天干在线综合| 69久久99精品久久久久婷婷| 精品福利在线导航| 日韩在线a电影| 欧美在线观看视频一区二区| 中文字幕国产精品一区二区| 激情综合五月婷婷| 日韩欧美在线一区二区三区| 亚洲福利一区二区三区| 色8久久精品久久久久久蜜| 中文文精品字幕一区二区| 韩国女主播一区| 337p粉嫩大胆噜噜噜噜噜91av| 日韩av电影免费观看高清完整版 | 亚洲一区二区视频| 91亚洲男人天堂| 亚洲毛片av在线| 色婷婷av一区二区三区大白胸| 亚洲天堂精品视频| 色综合视频在线观看| 亚洲美女屁股眼交| 精品视频一区二区三区免费| 亚洲狠狠爱一区二区三区| 欧美日韩日日摸| 免费人成精品欧美精品| 欧美成人精品二区三区99精品| 久久电影网站中文字幕 | 蜜桃免费网站一区二区三区| 这里只有精品视频在线观看| 琪琪一区二区三区| 欧美va亚洲va香蕉在线| 国产成人综合网| 亚洲欧美激情插| 欧美久久久久久久久久| 久久国产精品99久久人人澡| 国产清纯在线一区二区www| 成人福利电影精品一区二区在线观看| 综合电影一区二区三区| 欧美日韩国产小视频在线观看| 日产欧产美韩系列久久99| 久久久久久**毛片大全| 日本久久电影网| 韩国v欧美v亚洲v日本v| 亚洲日本欧美天堂| 欧美va在线播放| 91视视频在线观看入口直接观看www | 亚洲大片一区二区三区| 精品毛片乱码1区2区3区| 成人免费毛片a| 亚洲h精品动漫在线观看| 久久综合色综合88| 日本乱码高清不卡字幕| 国模大尺度一区二区三区| 亚洲欧洲综合另类| 日韩欧美的一区二区| 99久久国产综合色|国产精品| 五月综合激情网| 国产精品久久久久久久岛一牛影视 | 亚洲激情图片小说视频| 日韩视频一区二区| 一本大道久久精品懂色aⅴ| 精品一区二区免费视频| 亚洲综合一区在线| 国产网红主播福利一区二区| 欧美色男人天堂| 成人av电影免费在线播放| 奇米777欧美一区二区| 亚洲欧美电影院| 日本一二三四高清不卡| 日韩三级免费观看| 欧洲精品在线观看| 成人污污视频在线观看| 激情小说亚洲一区| 亚州成人在线电影| 一区二区三区国产精品| 国产精品黄色在线观看| 久久夜色精品一区| 日韩免费电影网站| 制服.丝袜.亚洲.另类.中文| 在线精品视频一区二区| 99精品久久免费看蜜臀剧情介绍| 国产真实乱偷精品视频免| 日日摸夜夜添夜夜添国产精品| 亚洲四区在线观看| 国产精品嫩草影院com| 久久免费偷拍视频| 久久亚洲二区三区| 精品国内片67194| 日韩精品一区二区三区视频| 欧美日韩一区在线| 欧美日免费三级在线| 欧美午夜片在线观看| 色婷婷av一区二区三区之一色屋| 91天堂素人约啪| 91丨九色丨国产丨porny| 99re成人精品视频| 色94色欧美sute亚洲线路一ni| av在线不卡电影| av不卡免费电影| 97se亚洲国产综合自在线| 91碰在线视频| 欧美无砖砖区免费| 精品国产亚洲在线| 日韩一区二区三区在线视频| 欧美日韩免费电影| 日韩欧美国产三级电影视频| 日韩视频中午一区| 久久久精品蜜桃| 国产精品美女久久久久高潮| 中文字幕在线观看不卡| 一区二区三区在线观看动漫| 蜜桃精品视频在线| 最新久久zyz资源站| 亚洲久本草在线中文字幕| 亚洲激情第一区| 日本亚洲免费观看| 国产在线不卡视频| 成人91在线观看| 欧美亚洲综合一区| 日韩美女在线视频| 国产精品伦理在线| 亚洲线精品一区二区三区| 婷婷国产v国产偷v亚洲高清| 久久国产剧场电影| 北岛玲一区二区三区四区| 91福利社在线观看| 精品国产一区二区亚洲人成毛片| 亚洲国产成人私人影院tom| 亚洲乱码精品一二三四区日韩在线 | 5月丁香婷婷综合| 久久毛片高清国产| 亚洲综合视频在线观看| 久久疯狂做爰流白浆xx| 成人黄色大片在线观看| 欧美日韩一区二区三区高清| 久久香蕉国产线看观看99| 一区二区免费在线| 99久久精品国产一区| 欧美日韩一区小说| 久久久久国色av免费看影院| 伊人夜夜躁av伊人久久| 久久精品国产成人一区二区三区| 成人av片在线观看| 日韩欧美成人激情| 一区二区在线免费观看| voyeur盗摄精品| 日韩午夜av一区| 亚洲精品成人少妇| 国产成人在线观看| 91精品国产丝袜白色高跟鞋| 91美女片黄在线| 欧美在线视频日韩| 国产日韩视频一区二区三区| 天天色天天操综合| 91色在线porny| 国产无一区二区| 秋霞av亚洲一区二区三| 一本色道久久综合狠狠躁的推荐 | 一区二区三区四区国产精品| 韩日av一区二区| 6080日韩午夜伦伦午夜伦| 亚洲美女少妇撒尿| av不卡一区二区三区| 久久久久88色偷偷免费| 久久国产尿小便嘘嘘尿| 欧美丰满一区二区免费视频 | 久久精品一区二区| 乱中年女人伦av一区二区| 欧美特级限制片免费在线观看| 中文字幕一区二区三区视频| 国产一区 二区 三区一级| 欧美成人福利视频| 亚洲成av人片在www色猫咪| 色吧成人激情小说| 亚洲免费观看在线视频| 99久久99久久综合| 自拍偷拍亚洲欧美日韩| 91丨九色porny丨蝌蚪| 亚洲视频一二区| 色狠狠一区二区| 一区二区三区免费看视频|