⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicaplibfileinfofunc.cpp

📁 索爱手机代码
💻 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 + -