使用CMdaAudioPlayerUtility
Location: MdaAudioSamplePlayer.h
Link against: mediaclientaudio.lib
播放音频数据,例如.wav,.midi,.mp3
创建并打开音频文件。
iAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(audioFile, *this);
audioFile:音频文件全路径。
*this: 继承了MMdaAudioPlayerCallback接口的类的对象。
NewFilePlayerL()为异步,载入完成会调用继承了MMdaAudioPlayerCallback类中的MapcInitComplete(aError, aDuration)方法。
Void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration)
{
if (aError == KErrNone)
{
iAudioPlayer->Play(); //加载成功,可以开始播放
}
else
{
Stop();
}
}
播放完成系统会调用
Void MapcPlayComplete(TInt aError)
{
if (aError == KErrNone)
{
iAudioPlayer->Close(); 停止
}
else
{
iAudioPlayer->Stop(); //关闭
}
}
常用方法:
GetVolume(TInt& aVolume): 取音量大小。
SetVolume(TInt aVolume):设置音量大小。
SetPosition(const TTimeIntervalMicroSeconds &aPosition): 设置播放位置
GetPosition(TTimeIntervalMicroSeconds &aPosition): 得到播放位置
TTimeIntervalMicroSeconds &Duration(): 得到总时间
以下方法提供提供查找元数据特性:
TInt RMMFController::GetNumberOfMetaDataEntries(TInt& aNumberOfEntries) const;
CMMFMetaDataEntry* RMMFController::GetMetaDataEntryL(TInt aIndex) const;