去年8月份做的一个3rd MR下的项目,需要Video Call与VoIP Call功能,当时项目组计划请Nokia的人来实现,最后的情况也不得而知。今日在Nokia的文档库里偶然看到实现方法,简直有些若狂。该文档的创建日期为"July 4, 2007",差不多晚了一年。
实现方法摘录如下:
It is possible to initiate video and Internet telephony (VoIP) calls with the AIW Service Handler API, included in the Extensions plug-in package for S60 3rd Edition SDKs.
Video call
The following example code demonstrates how to initiate a video call.
MakeAiwCallL( _L("+3581234567"), _L("Firstname Lastname"), EAiwVideo);
// EAiwForcedVideo doesn't show dialogs
// MakeAiwCallL( _L("+3581234567"), _L("Firstname Lastname"), EAiwForcedVideo);
void MakeAiwCallL( const TDesC& aNumber, const TDesC& aName, TAiwCallType aCallType )
{
// Create AIW service handler
CAiwServiceHandler* serviceHandler = CAiwServiceHandler::NewLC();
// Create AIW interest
RCriteriaArray interest;
CleanupClosePushL( interest );
CAiwCriteriaItem* criteria =
CAiwCriteriaItem::NewLC( KAiwCmdCall, KAiwCmdCall, _L8( "*" ) );
const TUid KUidAiwBase = { KAiwClassBase };
criteria->SetServiceClass( KUidAiwBase );
User::LeaveIfError( interest.Append( criteria ) );
// Attach to AIW interest
serviceHandler->AttachL( interest );
// Create AIW param package
TAiwDialDataV1 data;
TAiwDialDataV1Pckg dataPckg( data );
iNameBuffer = aName.Left( iNameBuffer.MaxLength() );
data.SetName( iNameBuffer );
iTelNumber = aNumber.Left( iTelNumber.MaxLength() );
data.SetTelephoneNumber( iTelNumber );
data.SetCallType( aCallType );
data.SetWindowGroup( CCoeEnv::Static()->RootWin().Identifier() );
CAiwGenericParamList& paramList = serviceHandler->InParamListL();
TPtrC8 ptr;
ptr.Set( dataPckg );
TAiwVariant variant( ptr );
TAiwGenericParam param( EGenericParamCallDialDataV1, variant );
paramList.AppendL( param );
// Execute AIW command
serviceHandler->ExecuteServiceCmdL( KAiwCmdCall,
paramList,
serviceHandler->OutParamListL() );
// destroy criteria, interest, and serviceHandler
CleanupStack::PopAndDestroy( 3 );
}
VoIP call
Using the above function, it is possible to initiate a VoIP call as follows:
MakeAiwCallL( _L("[email protected]"),
_L("Firstname Lastname"),
EAiwVoIPCall );
See also:
Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, Maintenance Release
Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 1
原文链接: http://forum.nokia.com/document/Forum_Nokia_Technical_Library/contents/FNTL/Creating_video_and_VoIP_calls.htm