WEB开发网
开发学院手机开发Symbian 开发 S60音乐播放器如果生成播放列表(系统自带的播放器... 阅读

S60音乐播放器如果生成播放列表(系统自带的播放器)

 2010-05-10 17:31:00 来源:WEB开发网   
核心提示:S60标准的音乐播放器支持 M3U格式的播放列表(Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator)这样我们可以通过程序来生成列表,我们需要将每个track的文件名写入到播放列表中(M3U文件),S60音乐播放器如果生成播放列表(系统

S60标准的音乐播放器支持 M3U格式的播放列表(Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator)

这样我们可以通过程序来生成列表。我们需要将每个track的文件名写入到播放列表中(M3U文件),文件路径可以是相对路径

M3U文件示例:

#EXTM3U

Audio1.mp3

Audio2.mp3

Audio3.mp3

Audio4.mp3

生成一个.m3u后缀的文件,并将歌曲名和路径使用RFile::Write()写入。我们需要采用UTF8格式

(CnvUtfConverter::ConvertFromUnicodeToUtf8)

//Creating a pre-defined playlist

RFile file;

TInt nRetVal;

TInt err;

RFs fs;

TBuf<500> string;

//Header

string.Copy(_L("#EXTM3U "));

//Songs relative paths

string.Append(_L("song1.mp3 "));

string.Append(_L("song2.mp3 "));

string.Append(_L("song3.mp3"));

User::LeaveIfError(fs.Connect());

CleanupClosePushL(fs);

_LIT(KLogFile,"c:\data\MyPlayList.m3u");

err = file.Create(fs, KLogFile, EFileWrite);

if( err == KErrAlreadyExists)

file.Open(fs, KLogFile, EFileWrite);

TPtrC8 representation((TUint8*)(&string)->Ptr(), (&string)->Size());

TInt pos;

nRetVal = file.Size(pos);

TBuf8<500> stringutf;

CnvUtfConverter::ConvertFromUnicodeToUtf8(stringutf, string);

nRetVal = file.Write(stringutf);

nRetVal = file.Flush();

file.Close();

CleanupStack::PopAndDestroy();

注意

音乐播放器需要刷新一下,才能显示

Tags:音乐 播放器 如果

编辑录入:coldstar [复制链接] [打 印]
赞助商链接