1118 } |
1126 } |
1119 |
1127 |
1120 CAknFileSoundInfo::~CAknFileSoundInfo() |
1128 CAknFileSoundInfo::~CAknFileSoundInfo() |
1121 { |
1129 { |
1122 delete iAudioPlayer; |
1130 delete iAudioPlayer; |
1123 delete iAudioData; |
|
1124 } |
1131 } |
1125 |
1132 |
1126 void CAknFileSoundInfo::InitL(const TDesC& aFileName, CMdaServer* aMdaServer) |
1133 void CAknFileSoundInfo::InitL(const TDesC& aFileName, CMdaServer* aMdaServer) |
1127 { |
1134 { |
1128 LOGTEXT(_L("CAknFileSoundInfo::InitL() - Filename:")); |
1135 LOGTEXT(_L("CAknFileSoundInfo::InitL() - Filename:")); |
1129 LOGTEXT(aFileName); |
1136 LOGTEXT(aFileName); |
1130 |
1137 iFileName = aFileName; |
1131 iMdaServer = aMdaServer; |
|
1132 |
|
1133 delete iAudioData; |
|
1134 iAudioData = NULL; |
|
1135 |
|
1136 RFs fsSession; |
|
1137 User::LeaveIfError( fsSession.Connect() ); |
|
1138 CleanupClosePushL(fsSession); |
|
1139 |
|
1140 TEntry entry; |
|
1141 User::LeaveIfError(fsSession.Entry(aFileName, entry)); |
|
1142 TInt fileSize = entry.iSize; |
|
1143 |
|
1144 LOGTEXT1(_L(" CAknFileSoundInfo::InitL() - File size:%d"), fileSize); |
|
1145 |
|
1146 iAudioData = HBufC8::NewMaxL(fileSize); |
|
1147 |
|
1148 TPtr8 dataPtr = iAudioData->Des(); |
|
1149 LoadAudioDataL(fsSession, aFileName, dataPtr); |
|
1150 |
|
1151 CleanupStack::PopAndDestroy(); // fsSession |
|
1152 |
|
1153 LOGTEXT(_L(" CAknFileSoundInfo::InitL() - Exit")); |
1138 LOGTEXT(_L(" CAknFileSoundInfo::InitL() - Exit")); |
1154 } |
1139 } |
1155 |
|
1156 |
|
1157 void CAknFileSoundInfo::LoadAudioDataL(RFs& aFs, const TDesC& aFileName, TDes8& aDes) |
|
1158 { |
|
1159 RDebug::Print(_L("CAknFileSoundInfo::LoadAudioDataL().")); |
|
1160 |
|
1161 RFile file; |
|
1162 User::LeaveIfError( file.Open(aFs, aFileName,EFileRead|EFileShareAny) ); |
|
1163 CleanupClosePushL(file); |
|
1164 TInt error = file.Read(aDes, aDes.Length()); |
|
1165 file.Close(); |
|
1166 CleanupStack::Pop(); //file |
|
1167 User::LeaveIfError(error); |
|
1168 |
|
1169 LOGTEXT(_L(" CAknFileSoundInfo::LoadAudioDataL() - Exit")); |
|
1170 } |
|
1171 |
|
1172 |
1140 |
1173 void CAknFileSoundInfo::PlayL() |
1141 void CAknFileSoundInfo::PlayL() |
1174 { |
1142 { |
1175 LOGTEXT(_L("CAknFileSoundInfo::PlayL().")); |
1143 LOGTEXT(_L("CAknFileSoundInfo::PlayL().")); |
1176 LOGTEXT3(_L(" This:%d, iPriority:%d, iPreference:%d"), (TInt)this, iPriority, iPreference); |
1144 LOGTEXT3(_L(" This:%d, iPriority:%d, iPreference:%d"), (TInt)this, iPriority, iPreference); |
1177 |
1145 |
1178 // Stops playing and deletes audio player instance if it exist. |
1146 // Stops playing and deletes audio player instance if it exist. |
1179 Stop(); |
1147 Stop(); |
1180 |
1148 |
1181 // Create audio player. DoPlay() will be called in all circumstances. |
1149 // Create audio player. DoPlay() will be called in all circumstances. |
1182 iAudioPlayer = CMdaAudioPlayerUtility::NewDesPlayerReadOnlyL( |
1150 iAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this); |
1183 *iAudioData, *this, iPriority, (TMdaPriorityPreference)iPreference, iMdaServer); |
|
1184 |
|
1185 LOGTEXT(_L(" CAknFileSoundInfo::PlayL() - Exit")); |
1151 LOGTEXT(_L(" CAknFileSoundInfo::PlayL() - Exit")); |
1186 } |
1152 } |
1187 |
1153 |
1188 |
1154 |
1189 void CAknFileSoundInfo::DoPlay() |
1155 void CAknFileSoundInfo::DoPlay() |