📄 smbmusicaplibfileinfofunc.cpp
字号:
/* Copyright (C) 2005-2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPLibFileInfoFunc.h
//
// Description:
// Music娭楢偺僼傽僀儖忣曬傪採嫙偡傞僋儔僗掕媊
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 丂丂丂|撪梕
//--------------+-----------+----------------------------------------------
//2006/06/15 |SDNA敆揷 |怴婯嶌惉
#include "SmbMusicAPLibFileInfoFunc.h"
#include <f32file.h>
#define CHECK_PATH_LENGTH(x) !Rng( 1, x.Length(), KMaxPath )
#define CHECK_FILENAME_LENGTH(x) !Rng( 1, x.Length(), KMaxFileName )
//懳墳偡傞奼挘巕孲
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionMP3, ".MP3");
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtension3GP, ".3GP");
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtension3GPP, ".3GPP");
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionOMA, ".OMA");
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionMSA, ".MSA");
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionSB2, ".SB2");
//ADD-START PTX824
_LIT(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionWMA, ".WMA");
//ADD-END PTX824
USING_NAMESPACE_SEMCJ
/**
* 奼挘巕傪娷傑側偄僼傽僀儖柤傪庢摼偡傞
*
* @param[in] aFilePath 僼傽僀儖僷僗傕偟偔偼丄奼挘巕晅偒偺僼傽僀儖柤
* @param[out] aName 奼挘巕傪娷傑側偄僼傽僀儖柤
* @param[in] aTrimLength 庢摼偡傞暥帤楍偺挿偝丅巜掕偟偨Length傛傝傕挿偄僼傽僀儖柤偺応崌偼丄巜掕偟偨暥帤悢偵挷惍傪偍偙側偄弌椡偡傞丅0傪巜掕偟偨応崌偼挷惍偼峴傢側偄丅
* @retval ETrue 惓忢
* @retval EFalse 堎忢(柍岠堷悢丄僼傽僀儖柤庢摼偵幐攕)
*/
EXPORT_C /*static*/ TBool SmbMusicAPLibFileInfoFunc::GetName(const TDesC& aFilePath, TDes& aName, TInt aLength)
{
// aFilePath偺僠僃僢僋
if ( CHECK_PATH_LENGTH(aFilePath) )
{
return EFalse;
}
//FilePaht傪 parse 偟偰柤慜傪庢摼
TBuf<KMaxFileName> fileName;
TParsePtrC parser(aFilePath);
fileName = parser.Name();
// FileName偺MAXLength僠僃僢僋
if ( CHECK_FILENAME_LENGTH(fileName) )
{
return EFalse;
}
// 弌椡僒僀僘
TInt outputLength = Min(aLength, fileName.Length());
// outputLength偺椞堟偑妋曐偝傟偰偄側偗傟偽丄僄儔乕
if ( outputLength > aName.MaxLength())
{
return EFalse;
}
// 栠傝抣 aName偺弶婜壔偲戙擖
aName.Zero();
if ( outputLength < fileName.Length() )
{
aName.Copy(fileName.Left(outputLength));
}
else
{
aName.Copy(fileName);
}
return ETrue;
}
/**
* 奼挘巕傪娷傑側偄僼傽僀儖柤傪庢摼偡傞
*
* @param[in] aFilePath 僼傽僀儖僷僗傕偟偔偼丄奼挘巕晅偒偺僼傽僀儖柤
* @param[out] aName 奼挘巕傪娷傑側偄僼傽僀儖柤
* @param[in] aSplitLength 庢摼偡傞暥帤楍偺挿偝丅巜掕偟偨Length傛傝傕挿偄僼傽僀儖柤偺応崌偼丄巜掕偟偨暥帤悢偵挷惍傪偍偙側偄弌椡偡傞丅巜掕偟側偄応崌偼KMaxFileName偑僒僀僘
* @retval ETrue 惉岟
* @retval EFalse 幐攕 柍岠堷悢 (擖椡僼傽僀儖僷僗偵栤戣丄弌椡僼傽僀儖柤偺椞堟偑懌傝側偄)
*/
EXPORT_C /*static*/ SmbMusicAPLibFileInfoFunc::TSmbMusicAPLibMusicFileFormatType SmbMusicAPLibFileInfoFunc::ExtensionToMusicFileFormat(const TDesC& aFilePath)
{
// aFilePath偺僠僃僢僋
if ( CHECK_PATH_LENGTH(aFilePath) )
{
return EMusicFileFormatUnknown;
}
//FilePaht傪 parse 偟偰奼挘巕傪庢摼
TParsePtrC parser(aFilePath);
// 奼挘巕偺懚嵼僠僃僢僋
if (! parser.ExtPresent())
{
return EMusicFileFormatUnknown;
}
TBuf<KMaxFileName> extension(parser.Ext());
// MP3
if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionMP3) )
{
return EMusicFileFormatMP3;
}
// 3GPP
else if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtension3GP) )
{
return EMusicFileFormat3GPP;
}
else if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtension3GPP) )
{
return EMusicFileFormat3GPP;
}
// MSAUDIO
else if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionOMA) )
{
return EMusicFileFormatMSAudio;
}
else if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionMSA) )
{
return EMusicFileFormatMSAudio;
}
// SD-BIND僼儖妝嬋
else if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionSB2) )
{
return EMusicFileFormatiMotionEx;
}
//ADD-START PTX824
// WMA
else if ( 0 == extension.CompareF(KSmbMusicAPLibFileInfoFuncEMusicFileExtensionWMA) )
{
return EMusicFileFormatWMA;
}
//ADD-END PTX824
return EMusicFileFormatUnknown;
}
// end of SmbMusicAPLibIsSettingFunc.cpp
/* Copyright (C) 2005-2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -